2012-07-03 2 views
12

누군가가 이것을 망쳐 놓는 곳에서 나를 계몽 할 수 있는지 궁금합니다! Thawte에서 keytool 키 저장소, 기본, 보조 및 SSL 인증서를 만들었습니다. 원래 openssl로 CSR을 작성한 후 문서화 된 프로세스를 사용하여 개인 키를 PKCS12로 변환하여 키 스토어로 가져 왔습니다.Tomcat의 SSL 인증서 - 별칭 이름이 키를 식별하지 않습니다.

나는 내가 키 스토어의 확인에 그들 모두를 수입 (!하지만 분명하지 않음)하지만 난 톰캣에서지고있어 오류가 믿습니다 '때 java.io.IOException 별칭 이름은 키 입력을 식별하지 않습니다

JKS 키 저장소 제공자 : 나는 keytool -list -keystore keystore.ks을 할 경우

이 내가 키 스토어 타입 무엇을 얻을 일을 키 스토어는 4 개 항목

secondary, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): EB:A3:71:66:38:5E:3E:F4:24:64:ED:97:52:E9:9F:1B 
tomcat, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0 
primary, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): D6:6A:92:1C:83:BF:A2:AE:6F:99:5B:44:E7:C2:AB:2A 
1, Jul 2, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0 

내 톰캣의 server.xml 괜찮 확신을 포함

그러나 여기에는 HTTPS 커넥터의 너무 :

<Connector port="443" 
    protocol="org.apache.coyote.http11.Http11Protocol" 
    maxHttpHeaderSize="8192" 
    SSLEnabled="true" 
    maxThreads="150" 
    minSpareThreads="25" 
    maxSpareThreads="75" 
    enableLookups="false" 
    disableUploadTimeout="true" 
    acceptCount="100" 
    scheme="https" 
    secure="true" 
    clientAuth="false" 
    sslProtocol="TLS" 
    URIEncoding="UTF-8" 
    keystorePass="xxxxxx" 
    keystoreFile="/keys/keystore.ks" 
    keyAlias="tomcat"/> 

어떤 아이디어? 이 일을 처음 수행 한 것은 어쩌면 눈부신 무언가를 엉망으로 만든 것일까 요?

이 사이트는 몇 가지 제안 : 당신이 keytool으로 별명을 나열 할 때

답변

15

는, 별명은 각 항목에 대한 쉼표 이전의 무엇을 듣고 싶어요 포트 80

에 잘 작동합니다. 여기에 secondary, tomcat, primary1의 4 개 항목이 있습니다. 별칭 1 만 개인 키 용입니다.

(직접 대신 keystoreType="PKCS12"를 사용하여 PKCS # 12 파일을 사용할 수 있습니다.) 내가 찾은

+0

아하 오, 내가 무슨 뜻인지 알 겠어. 이것은 SSL을 처음 사용하는 것입니다. 키 스토어에 중복 별칭을 사용할 수 없습니다. '바람둥이'가 Thawte가 제공 한 SSL 인증서 인 경우, 그와 함께 사용되는 개인 키의 이름을 어떻게 지정해야합니까? 그리고 server.xml은 어느 것을 가리키고 있습니까? 당신의 도움에 감사드립니다. 나는 이것으로 내 머리카락을 꺼내 ​​왔습니다. – G33kGrl

+0

약간의 진행 - alias 1 (개인 키)을 사용하도록 server.xml을 설정하면 이제 적어도 커넥터가 해당 포트를 올바르게 엽니 다. 그러나 인증서 오류를 얻는 중 "발급자 체인이 제공되지 않아 인증서가 신뢰되지 않습니다."... 음영이 두꺼워 짐. – G33kGrl

+2

인증서를 가져올 때 개인 키 별칭 (즉, 키 저장소에 이미 있음)에 대해 인증서를 가져와야합니다), [여기] (http://stackoverflow.com/a/9300727/372643)에 설명되어 있습니다. 이것은 말하기를 이미 인증서를 사용하여 PKCS # 12 파일을 만들었 기 때문에 직접 사용할 수 있어야합니다. PKCS # 12 파일을 올바르게 작성하지 않았을 수 있습니다 (요청에 사용하는 개인 키를 사용 했습니까?). 어떤 지시 사항을 따르셨습니까? – Bruno

0

this page 특히 유용합니다 .. 난 단지 두 개의 파일을 한 곳에 내 상황은 domain.com에 의해 전달되는 GeoTrust의 CERT는 출신 : 텍스트 기반 인증서 (x509) 및 텍스트 기반 개인 키. 이 지침과 변환기 클래스 파일은 매력처럼 작동했습니다.