2010-04-09 9 views
7

SSL을 사용하여 Tomcat 서버를 구성하려고합니다. 나는 따라서 키 쌍을 생성했습니다 재판을 요청Java 키 저장소로 Thawte 평가 인증서 가져 오기

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr 

가 그럼, Thawte에 웹 사이트의 형태로 tomcat.csr의 내용을 복사 - 붙여 넣기 :

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys 

다음 내가 인증서 서명 요청을 생성 SSL 인증서. 그 답례로 -----BEGIN ... -----END으로 구분 된 두 개의 인증서를 얻습니다. 즉, tomcat.crtthawte.crt 아래에 저장됩니다. (Thawte는 두 번째 인증서를 'Thawte Test CA Root'인증서라고 부릅니다). 나는 그들 중 하나를 가져 오려고하면

그것은 실패

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Failed to establish chain from reply 

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Input not an X.509 certificate 

이 중 어떤 것도 변경하지 않습니다 이러한 명령 중 하나에 -trustcacerts 옵션을 추가.

내가 여기 잘못 생각한가요?

답변

14

나는 마침내 여기에서 무슨 일이 벌어지고 있는지 알게되었습니다. keytool은 X.509 형식으로 인증 될 것을 기대하는 반면, Thawte에서받은 응답은 PKCS # 7 형식으로 나타납니다.

openssl

은 한 형식에서 다른 형식으로 인증서를 변환 할 수 있습니다 :
$ openssl pkcs7 -in thawtetest.crt -print_certs | 
    openssl x509 > thawtetest.x509 

지금 당신이 키 도구와 thawtetest.x509, 오른쪽 뒤에 tomcat.crt를 가져올 수 있습니다.

+0

감사합니다 ... 전자 메일에서이 문제를 언급 할 것이라고 생각할 것입니다. 중간 전자 메일 (전자 메일에서도 가능)이 x509이므로! –

0

최신 버전을 사용하는 한 keytool을 사용하여 PKCS # 7 체인을 가져올 수 있어야합니다. 인증서를 별개의 파일로 내보내는 것도 가능하지만 최신 버전의 keytool을 실행하는 경우 PKCS # 7 파일 자체를 가져 오는 데 아무런 문제가 없어야합니다.

0

같은 문제가 생겨서 나를 도왔던 this post이 발견되었습니다. 내가받은 평가판 인증서를 하나의 파일에 넣고 keytool을 사용하여 가져 오기 내가 사용하는 ALIAS (keytool -alias param)이 다른 (요청에 대한 인증서를 만들 때 사용한 별칭이 아님)인지 확인합니다. 동일한 별칭으로 가져 오기를 시도하는 것이 마음에 들지 않는다는 점을 감안하면 기괴한 오류 메시지입니다.