HTTP-клиент Apache генерирует исключение "одноранговый не аутентифицирован"
У меня есть Tomcat7
сервер работает на Ubuntu 12.04 LTS
, Приложение Tomcat использует Apache's HTTP Client
совершать REST-вызовы на удаленный веб-сервер, который использует самозаверяющий сертификат.
Я скачал сертификат сервера локально:
echo -n | openssl s_client -connect $DOMAIN:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$DOMAIN.cert
Я импортировал и доверил самоподписанный сертификат в оба хранилища ключей (JRE/JDK):
$ which java
/usr/lib/jvm/jre1.8.0.51/bin/java
$ locate cacerts | grep "1.8.0_51"
/usr/lib/java/jdk1.8.0_51/jre/lib/security/cacerts
/usr/lib/jvm/jre1.8.0_51/lib/security/cacerts
$ sudo keytool -importcert -alias $SERVER_CERT_ALIAS -file /tmp/$DOMAIN.cert -keystore /usr/lib/java/jdk1.8.0_51/jre/lib/security/cacerts -storepass *********
$ sudo keytool -importcert -alias $SERVER_CERT_ALIAS -file /tmp/$DOMAIN.cert -keystore /usr/lib/jvm/jre1.8.0_51/lib/security/cacerts -storepass *********
Tomcat настроен на использование Java по умолчанию.
Я перезагрузился, но я все еще получаю исключение:
peer not authenticated
при попытке подключиться к веб-серверу.
Что я упускаю или не понимаю, чтобы заставить Apache доверять сертификату?