2014-05-20 3 views
0

웹 서비스를 호출하는 JAR 라이브러리에서 메소드를 호출하려고합니다. 필요한 메소드를 호출하면 아래 오류가 발생합니다.SSL 인증서를 Java로 가져 오기

sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. 

유효한 SSL 인증서 파일 (ssl_file.pfx)과 암호가 있습니다. 필자는 Google에서 모든 결과에 Keytool을 사용하여 cacert에 인증서를 추가하라는 요청을 받았습니다.

아래 명령을 시도했을 때 "Input not X.509 certificate"메시지가 나타납니다.

keytool -import -file ssl_file.pfx -alias somealias -keystore keystore_file -storepass changeit 

참고 : 나는 JRE/lib/security/cacerts 파일/폴더에 대한 관리자 액세스 권한이 없습니다.

어떻게 해결할 수 있습니까? 프로그램을 통해이 작업을 수행 할 수있는 다른 옵션이 있습니까?

답변

2

PFX 파일은 일반적인 확장명을 올바르게 사용한다고 가정 할 때 인증서가 아니며 PKCS # 12 저장소이며 개인 키와 인증서를 모두 포함합니다. 기존 별칭을 모르는 경우

keytool -exportcert -file cert.crt -keystore ssl_file.pfx -storetype PKCS12 -alias ... 

(첫 번째 -list 대신 -exportcert를 사용하여

keytoolPKCS12 스토어 등의 파일을 처리 할 수 ​​있습니다, 그래서 당신은 (개인 키없이) 인증서를 내보낼 수 있습니다 이름) 다음

, 수입 해당 인증서 :.

키 도구 -importcert -file cert.crt -alias somealias -keystore keystore_file ...

자체 서명 인증서가 아니라면 일반적으로이 작업을 수행하지 말고 신뢰 저장소에 CA 인증서를 가져와야합니다.

+0

별칭으로 무엇을 사용해야합니까? --list를 사용하면 별칭 세부 정보가 표시되지 않습니다. – Purus

+0

별칭이 표시됩니다 (예 : '1'). – Bruno

+0

이것은 암호를 제공 한 후 -list의 결과입니다. 키 저장소 유형 : PKCS12 키 저장소 공급자 : SunJSSE 키 저장소에 0 개의 항목이 포함되어 있습니다. 이 중에서 별명 인 제발. – Purus

관련 문제