Создайте SSL-соединение между приложениями Spring и nodejs локально - PullRequest
0 голосов
/ 28 июня 2019

У меня есть два приложения, одно написано на nodejs (в данном случае это простой mock-сервер) и весеннее приложение (базовое приложение).Я хочу создать SSL-соединение между этими двумя.Сначала я сгенерировал пару ключей и сертификатов, затем просто настроил nodejs для работы через SSL (я использовал этот пример: настройка SSL - nodeJs ).Я проверил, что когда я писал в браузере https://localhost:3000, это дает мне «безопасное» соединение (с открытым замком - так что все в порядке).

Далее я настраивал приложение Spring, используя , настроив SSL - Spring .Я взял сертификат из предыдущего поколения шагов и установил его в хранилище ключей в файл .p12.В весеннем приложении я изменил ссылку на приложение узла на https.

Когда я пытаюсь подключиться из приложения Spring и получить некоторые фиктивные данные от узла, я получаю следующую трассировку стека:

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Я нашел что-то в stack , но когда я устанавливаю этот сертификат в определенную директорию, а затем перезагружаю мое приложение, результат такой же.

1 Ответ

0 голосов
/ 01 июля 2019

Я нашел решение этой проблемы. Я не знаю почему, но когда я создал хранилище ключей с сертификатом внутри, а затем использовал его в своем весеннем приложении, он не может найти это хранилище ключей с сертификатом глобально. Я искал документацию по openJDK11 (потому что я использовал его) и нашел ссылку на Включение политики неограниченной юрисдикции и проверил файл, для которого у меня есть версия openJDK11.

В моем случае была прокомментирована строка из crypto.policy, не знаю почему. Когда я раскомментировал его и установил unlimited, это дает мне еще одну ошибку, но затем я нахожу другое решение. Я обнаружил, что мне нужно добавить свой сертификат самозаверяющего в файл cacerts ( как добавить свой самоподписанный сертификат в cacerts ). После этих двух операций это работает как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...