Как настроить правильный SSL между 2 веб -сервисами Scala/Akka?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как настроить правильный SSL между 2 веб -сервисами Scala/Akka?

Сообщение Anonymous »

фон:
У меня есть Scala (с Akka-http ) WebServer, который способен общаться с экземплярами о себе (децентрализованная модель). Недавно я модернизировал сервер для использования SSL и https .
Я столкнулся с проблемой с сообщением между двумя серверами, связанными с SSL Сертификаты: < /p>

Код: Выделить всё

java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: (certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Мысли:
Быстрый поиск исключения приведет меня к этому посту. Я видел команду keytool в разные моменты, когда я исследовал ssl в Scala / Итак, я знаю, что на правильном пути. Ответы в этом посте требуют большой настройки пользователей. Я хотел бы, чтобы пользователь должен был сделать как можно меньше, чтобы настроить это и хотел бы, чтобы мой сервер обрабатывал к этому. < /P>
Модель здесь заключалась в Имя и сервер с друзьями, и они могут зарегистрироваться у вас. Упомянутое сообщение потребует от вас также поделиться своим сертификатом SSL и вручную добавить его на свой компьютер для каждого сервера, на котором вы регистрируете. Сертификат ssl в какой -то момент во время рукопожатия регистрации? Процесс заключается в следующем: < /p>
  • Пользователь Create A RegistrationRequest (ServerId, Serverip, псевдоним) < /code> для пользователя B и запись базы данных для пользователя B < /li>
    Пользователь B получает запрос, создает запись в своей базе данных для пользователя A < /li>
    Пользователь B (фактический конечный пользователь) нажимает «Принять» на Фронт-энд для запроса пользователя A
  • Пользователь B Отправить сообщение RegistrationAccept пользователю
  • Пользователь получает запрос принятия, и обновляет базу данных, чтобы отразить, что она принимается
  • Служба Chatter запускается на обоих концах
Я думал, что сделаю рукопожатие с http , вставив сертификат ssl в объект RegistrationRequest и обновите соединение до https , когда сертификат обменивался, но но Это проблема. Каждый веб -сервер связывается с портом 8080 . Мне пришлось бы повторно переключать весь розетка каждый раз, который будет работать всего для 1-1-го коллеги, но не 1 ко многим. /p>
Заранее спасибо! С этим проектом и интегрировал множество функций в бэкэнд. Тем не менее, система предназначена для того, чтобы быть сосредоточенной на безопасности, поэтому, если я продолжу, SSL является обязательным. , но предполагаю, что я сделал, есть ли WebSockets то, что я хочу здесь, вместо моего текущего подхода? > Кажется, есть два подхода, ни один из которых я полностью уверен (с точки зрения безопасности). < /p>
Подход 1:
Я отправляю программное обеспечение с помощью программного обеспечения с Single Rootca Сертификат, который я использую для генерации сертификатов SSL . Похоже, что это может иметь последствия для безопасности, если кто -то получает rootca < /code> и генерирует свои собственные сертификаты. http (порт 8080) и другой для https (порт 8443).
http сокет обнажает маршруты Для аутентификации учетных данных (и предоставления токена) и для добавления сертификата в TrustStore (только если токен действителен). > Маршруты будут отклонены, если сертификат отсутствует или токен недействителен, но будет работать для зарегистрированных пользователей. , но кажется лучше, чем доставка с rootca , поскольку она, по крайней мере, имеет аутентификацию, обернутую вокруг нее (или я ошибаюсь?)

Подробнее здесь: https://stackoverflow.com/questions/794 ... b-services
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»