Nexus

2011-10-21 22 views
1

으로 https/ssl에서 Maven Repo를 프록시 할 수 없습니다. this page에 제공된 지침에 따라 서버 인증서를 가져옵니다.Nexus

keytool -list을 사용할 때 인증서가 실제로 키 저장소에 있음을 알 수 있습니다. .crt 파일을 가져 오려고하면 keytool은 키 저장소에 이미 인증서가 있음을 경고합니다.

그런 다음 wrapper.conf을 두 ssl 옵션으로 업데이트했습니다. 다시 시작한 후 Nexus 프로세스의 명령 줄에서 볼 수 있습니다.

하지만 원격 서버에 프록시의 repo를 추가하려고 할 때, 나는 항상 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

내가 무엇을 그리워 않은거야?

답변

3

사용자 정의 CA 인증서를 'keyStore'가 아닌 'trustStore'로 가져와야합니다.

'truststore'생성 절차는 'keyStore'절차와 동일합니다. 당신이 당신의 * .jks 다음 파일을 다음과 같은 시스템 속성을 사용하여 연결이되면 는 :

javax.net.ssl.trustStore=<file> 
javax.net.ssl.trustStorePassword=<password> 
1

오류 메시지는 JVM이 원격 서버의 SSL 인증서를 제대로 인증 할 수 없음을 의미합니다. 원격 서버가 공식 인증 기관 (예 : Verisign)이 서명 한 인증서 대신 자체 서명 된 인증서를 사용하는 경우 매우 일반적입니다.

메시지가 혼동합니다. Nexus 인스턴스에서 SSL을 사용하도록 설정했으나 SSL 인증서가 다른 서버에있을 수 있다는 문제를 암시하는 프록시 저장소에 대해 이야기합니다.

+0

프록시의 repo는 넥서스 서버에 내장 된 HTTPS 서버와 HTTP 클라이언트에 연결하는 문제가있다. Maven -> Nexus -> 원격 서버입니다. 첫 번째 연결이 작동하고 두 번째 연결이 끊어집니다. –

+0

원격 서버는 자체 서명 된 인증서를 사용합니다. 키 스토어에 키 스토어를 가져오고 명령 줄에서 키 스토어를 지정했는데 키 스토어가 사용되었다고 확신합니다 (잘못된 비밀번호로 시도했습니다). Java가 keystore에서 certs를 사용하도록하려면 어떻게해야합니까? –