У меня есть 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 /
Код: Выделить всё
JavaМодель здесь заключалась в Имя и сервер с друзьями, и они могут зарегистрироваться у вас. Упомянутое сообщение потребует от вас также поделиться своим сертификатом SSL и вручную добавить его на свой компьютер для каждого сервера, на котором вы регистрируете. Сертификат ssl в какой -то момент во время рукопожатия регистрации? Процесс заключается в следующем: < /p>
- Пользователь Create A RegistrationRequest (ServerId, Serverip, псевдоним) < /code> для пользователя B и запись базы данных для пользователя B < /li>
Пользователь B получает запрос, создает запись в своей базе данных для пользователя A < /li>
Пользователь B (фактический конечный пользователь) нажимает «Принять» на Фронт-энд для запроса пользователя A - Пользователь B Отправить сообщение RegistrationAccept пользователю
- Пользователь получает запрос принятия, и обновляет базу данных, чтобы отразить, что она принимается
- Служба Chatter запускается на обоих концах
Заранее спасибо! С этим проектом и интегрировал множество функций в бэкэнд. Тем не менее, система должна быть сосредоточена на безопасности, поэтому, если я буду продолжать таким образом, SSL является обязательным. , но предполагаю, что я сделал, есть ли WebSockets то, что я хочу здесь, вместо моего текущего подхода? > Кажется, есть два подхода, ни один из которых я полностью уверен (с точки зрения безопасности). < /p>
Подход 1:
Я отправляю программное обеспечение с помощью программного обеспечения с Single Rootca Сертификат, который я использую для генерации сертификатов SSL . Похоже, что это может иметь последствия для безопасности, если кто -то получает rootca < /code> и генерирует свои собственные сертификаты. http (порт 8080) и другой для https (порт 8443).
http сокет обнажает маршруты Для аутентификации учетных данных (и предоставления токена) и для добавления сертификата в TrustStore (только если токен действителен). > Маршруты будут отклонены, если сертификат отсутствует или токен недействителен, но будет работать для зарегистрированных пользователей. , но кажется лучше, чем доставка с rootca , поскольку она, по крайней мере, имеет аутентификацию, обернутую вокруг нее (или я ошибаюсь?)
Подробнее здесь: https://stackoverflow.com/questions/794 ... b-services
Мобильная версия