2017-11-22 1 views
0

Tomcat 8에서 처음으로 SSL을 구현하려고합니다.오류 : Tomcat에서 SSL을 구현하는 동안 별명 [null]이 키 항목을 식별하지 않습니다.

제 3 자 서명 X.509 인증서가 .pem 파일 형태로 있습니다. 나는 바람둥이를 시작하려고하면

그러나 구성 후, 그것은 나에게 다음과 같은 오류주고있다 :

  1. 명칭 변경 certificate.pem certificate.p7b하기 : 다음

    22-Nov-2017 18:48:01.735 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-jsse-nio-8443"] 22-Nov-2017 18:48:01.897 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["https-jsse-nio-8443"] java.lang.IllegalArgumentException: java.io.IOException: Alias name [null] does not identify a key entry at ...

    를 내가 따라 한 단계는 .

  2. 응용 스토어에 인포 인증서에 다음 명령 :

D : \ keytest2> 키 도구 -import -alias 바람둥이 -trustcacerts -file certificate.p7b -keystore keystore.kdb

입력 키 스토어 비밀번호 : 테스트
다시 입력 새 비밀번호 : 테스트

...
...
인증서가 추가되었다이

D : \ keytest2> 키 도구 -list -v -keystore keystore.kd

나에게주는 키 스토어

  • 이 검사 가져온 인증서
      outout 다음

      키 스토어 유형 : JKS 키 저장소 제공자 : SUN

      키 스토어가 포함 1 항목

      별칭 이름 : 바람둥이 작성 날짜 : 2017년 11월 22일 항목 유형 :하는 trustedCertEntry ... ...

      톰캣 구성 :

      <Connector port="8443" protocol="HTTP/1.1" 
             maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
             keystoreFile="file:///D:/keytest2/keystore.kdb" keystorePass="test" 
            clientAuth="false" sslProtocol="TLS"> 
      

      내가 잘못하고있는 곳에서 안내해주세요.

  • +1

    인증서는 개인 키가 아닙니다. 모든 SSL/TLS 서버에는 인증서 (일반적으로 체인이 있음)가 필요하며 일치하는 개인 키와 Java (전통적으로 Tomcat 포함)는 보통 TrustKeyCertEntry가 아닌 PrivateKeyEntry로 키 스토어 파일에 필요합니다. (Tomcat 8.5는 폼에 비해 유연성이 더 뛰어나지 만 그 내용은 동일합니다.) 키 (CSR)를 생성했다면 세부 사항을 알려줍니다. 그렇지 않으면 누구 에게서나 얻을 수 있습니다. BTW p7b 형식은 일반 cert 형식과 동일하지 않으며 코드가 파일 확장명을 무시하고 혼동하지 않더라도 동일하다고 생각하면 혼동을 일으킬 수 있습니다. –

    +0

    당신 말이 맞아요. 개인 키가 없습니다. 그래서 openssl 도구를 사용하여 인증서와 키를 생성하려고했습니다. 이제 인증서와 키가 둘 다 있습니다. 어떻게 키 스토어로 가져 와서 바람둥이에서 구성 할 수 있는지 말해 줄 수 있습니까? 미리 감사드립니다. –

    +0

    https://www.ibm.com/support/knowledgecenter/en/SSWHYP_4.0.0/com.ibm.apimgmt.cmc.doc/task_apionprem_gernerate_self_signed_openSSL.html에서 찾았습니다. openssl을 사용하여 인증서와 키 파일을 생성하고 결합했습니다. 그것은 나를 위해 일했습니다. 감사. –

    답변

    0

    톰캣 구성에서 매개 변수 "keyAlias"가 누락되어 문제가 발생했습니다.

    하지만 별칭을 추가하는 것이 내 문제를 해결하지 못했습니다. 그것은 null 대신 별칭 이름으로 같은 오류를 던지기 시작했습니다.

    @ dev_thompson_085의 의견에 따르면이 프로세스에서 핵심 파일이 누락되었음을 알게되었습니다. 그래서 URL마다 자체 서명 된 X.509 인증서를 사용해 보았습니다. https://www.ibm.com/support/knowledgecenter/en/SSWHYP_4.0.0/com.ibm.apimgmt.cmc.doc/task_apionprem_gernerate_self_signed_openSSL.html

    두 파일 모두에서 잘 작동했습니다.

    관련 문제