Если вы используете self-signed SSL-сертификат или сертификат выданный неизвестным CA (certificate authority), Java-клиент сообщит об ошибке:
SunCertPathBuilderException: unable to find valid certification path to requested target
Для ее решения с помощью команды keytool
self-signed сертификат или CA-сертификат необходимо импортировать в keystore — специальное хранилище ключей и сертификатов в Java.
В этой заметке я покажу, как неинтерактивным способом импортировать сертификат в Java-keystore, с помощью команды keytool
.
Я также покажу пример того, как импортировать CA-сертификат в cacerts
.
Дельный Совет: Просмотр списка сертификатов в Java-keystore с помощью команды keytool -list
! Читать далее →
Импорт Сертификата с помощью Keytool
Импортировать сертификат в Java-keystore:
$ keytool -import \ -trustcacerts \ -keystore <keystore_file_path> \ -storepass <keystore_password> \ -noprompt \ -alias <certificate_alias> \ -file <certificate_file_path>
Опция | Описание |
---|---|
-import |
Импорт сертификата или цепочки сертификатов |
-trustcacerts |
Доверять сертификатам из ‘cacerts’ |
-keystore <keystore_file_path> |
Путь к хранилищу сертификатов |
-storepass <keystore_password> |
Пароль от хранилища сертификатов (по умолчанию: changeit ) |
-noprompt |
Не требовать ручного ввода чего-либо |
-alias <certificate_alias> |
Alias сертификата |
-file <certificate_file_path> |
Путь к сертификату |
Импорт сертификата в Java-keystore cacerts
:
$ keytool -import \ -trustcacerts \ -keystore $JAVA_HOME/jre/lib/security/cacerts \ -storepass changeit \ -noprompt \ -alias intraca \ -file intraca.cer