2017-02-16 3 views
-2

Я за корпоративным прокси, и я пытаюсь загрузить (инструмент построения Clojure) для работы. Я настраиваю прокси через boot.j4l.ini так:Как получить ключ SSL прокси-сервера?

- Dhttp.proxyHost=<proxy-hostname> - Dhttp.proxyPort=8090 
- Dhttps.proxyHost=<proxy-hostname> -Dhttps.proxyPort=8090 

что вызывает эту ошибку произойти при загрузке boot.jar: не удалось найти правильный путь сертификации к запрошенной цели

Я полагаю, это сертификат SSL для прокси-сервера, которому не доверяют, а не конечный пункт назначения соединения. Я пытаюсь создать хранилище ключей, чтобы передать процесс с открытым ключом SSL и сертификатом из прокси-сервера, но как я могу это получить? Я попытался с помощью:

java InstallCert <proxy-hostname>:8090 

Но при запуске SSL рукопожатия он жаловался, что он не мог сделать это, вероятно, потому, что он получил обычный текст ответа.

Как я могу получить ключ SSL прокси-сервера, чтобы доверять ему в процессе Java для загрузки?

+0

Вам нужен сертификат, а не только открытый ключ. – EJP

+0

Исправлено. InstallCert загружает оба – Pablo

ответ

0

Программа java InstallCert устанавливает сертификат на java-home/lib/security/jssecacerts. В соответствии с JSSEdocs, сначала TrustManager будет искать файл хранилища доверия, объявленный в системном свойстве javax.net.ssl.trustStore. Если это свойство не определено, оно будет смотреть на jssecacerts.

В вашем случае, так как даже после установки сертификата на jssecacerts, доверительный управляющий отказывается принять SSL рукопожатия, он, вероятно, указывает на то, что он либо не найдя jssecacerts на обычном месте или есть другое доверенное хранилище определяется по системному свойству javax.net.ssl.trustStore.

Если вы действительно используете системы по умолчанию хранилища ключей на java-home/lib/security/cacerts и вы хотите импортировать сертификат сервера в системе хранилище ключей, пожалуйста, сделайте резервную копию системного хранилища ключей первым и затем извлечь сертификат из jssecacerts и импортировать его в cacerts с помощью следующие команды.

Извлечение сертификата из созданных jssecacerts KeyStore

Keytool -exportcert -alias [хост] -1 -keystore jssecacerts -storepass changeit -file [хост] .cer

Импорт сертификата в системную хранилище

keytool -importcert -alias [host] -keystore [path to system keystore] -storepass changeit -file [host] .cer