Рубрики
Без рубрики

SSL-сертификат для java-приложения

Сторонний сервис доступен по протоколу https, так как же java-приложение может подключиться к этому сервису?… С тегами java, openssl, программирование, ssl.

Сторонний сервис доступен по протоколу https, так как же java-приложение может подключиться к этому сервису?

Хранилище доверия и Хранилище ключей

В Java есть два места для сохранения сертификата: truststore и хранилище ключей

Хранилище доверия – для клиента и открытого ключа Хранилище ключей – для закрытого ключа

В нашей задаче нам нужен доверенный магазин

Инструменты

Для SSL-сертификата используйте такие инструменты, как openssl и инструмент для ключей из jdk

Пример

Прежде всего загрузите сертификат от стороннего сервиса.

sudo rm -f thirdPartyCert.pem && sudo echo -n | openssl s_client -showcerts -connect third-party-service:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > thirdPartyCert.pem

Копировать текущий доверенный магазин

cp $JAVA_HOME/lib/security/cacerts currentCacerts

Импортируйте новый сертификат в хранилище доверия

keytool -import -trustcacerts -keystore "currentCacerts" -alias third-party-service -file "thirdPartyCert.pem" -storepass changeit

Проверить сертификат

keytool -list -v -keystore currentCacerts -alias third-party-service -storepass changeit

Используйте эту опцию для добавления сертификата при запуске вашего приложения

-Djavax.net.ssl.trustStore=mySuperCacerts

Идеально!

Оригинал: “https://dev.to/lbatters/ssl-certificate-for-java-application-5a0o”