Невозможно прокси-репозиторий Maven через https/ssl с Nexus
Я следовал инструкциям, приведенным на этой странице, чтобы импортировать сертификат сервера.
Когда я использую keytool -list
Я вижу, что сертификат на самом деле находится в хранилище ключей. Если я попытаюсь импортировать .crt
файл, keytool
предупреждает меня, что хранилище ключей уже содержит сертификат.
Потом я обновил wrapper.conf
с двумя опциями ssl. Я вижу их в командной строке процесса Nexus после перезагрузки.
Но когда я пытаюсь добавить репо для удаленного сервера, я всегда получаю sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Что я упустил?
2 ответа
Вы должны импортировать пользовательский сертификат CA в "trustStore", а не в "keyStore".
Процедура создания "хранилища доверия" такая же, как и для "хранилища ключей". Получив файл *.jks, свяжите его, используя следующие системные свойства:
javax.net.ssl.trustStore=<file>
javax.net.ssl.trustStorePassword=<password>
Сообщение об ошибке означает, что JVM не может правильно аутентифицировать SSL-сертификат удаленного сервера. Очень часто, если на удаленном сервере используется самозаверяющий сертификат вместо сертификата, подписанного официальным центром сертификации (например, verisign).
Ваше сообщение сбивает с толку. Вы включили SSL на своем экземпляре Nexus, однако говорите о репо-репозитории, подразумевающем проблему SSL-сертификата на другом сервере.