2017-12-26 79 views
0

자체 서명 된 인증서 체인을 사용하여 .keystore 파일을 만들어야합니다.자체 서명 된 인증서 체인을 키 저장소에 추가

2 가지 방법을 시도했습니다.

방법 1 :

https://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/

는 내 자체 서명 인증서 체인을 만들 수 위의 게시물을 사용했다. .crt를 .p7b로 변환하고 키 저장소 파일을 만들려고했지만 OpenSSL에서 "Input not X.509 certificate"를 받았습니다.

Windows 컴퓨터를 사용하고 있습니다. 그래서 .crt 파일을 열고 "Copy To File"을 클릭하여 .p7b 파일로 저장했습니다.

방법 2 :

https://www.pixelstech.net/article/1450354633-Using-keytool-to-create-certificate-chain

나는 인증서 체인 내 키 스토어를 만들기 위해 위의 게시물을 사용하지만 난에 추가 할 때, 나는 "이 사이트에 도달 할 수 없습니다"라는 오류가 발생했습니다 내 브라우저에서는 로그에 오류가 없습니다. 키 스토어 파일은 하나의 인증서가있는 경우

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.keystore" keystorePass="test" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/> 

위의 커넥터가 작동 다음과 같이

내 커넥터입니다. 따라서 문제는 키 스토어를 생성하는 과정입니다.

키 체인에 인증서 체인을 성공적으로 추가하려면 어떻게합니까?

편집 :

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.p12" keystorePass="test" keystoreType="PKCS12" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/> 

나는 .P12 할 수있는 .keystore에서 키 스토어의 형식을 수정했습니다. 내 응용 프로그램은 지금 실행되지만 "Didier Stevens (https://DidierStevens.com)"의 상태는 "Didier Stevens (https://DidierStevens.com)"의 상태가 "이 CA 루트 인증서가 신뢰되지 않습니다. 신뢰할 수있는 루트 인증 기관 저장소. " 그것은 다른 방법 일 것이지만 문제가 무엇인지 모릅니다. 당신이 인용 한

enter image description here

+0

*** 'CN = www.example.com' ***이 잘못된 것 같습니다. ***'https : //'***는 틀린 것입니다. 호스트 이름은 항상 * SAN *에 있습니다. * CN *에있는 경우, * SAN *에도 있어야합니다 (이 경우 두 번 나열해야합니다). 자세한 규칙 및 이유는 [인증 기관의 인증서 서명 요청 서명 방법] (http://stackoverflow.com/a/21340898/608639) 및 [openssl을 사용하여 자체 서명 된 인증서를 만드는 방법] (http://stackoverflow.com/q/10175812/608639) 또한 자체 서명 된 인증서를 적절한 트러스트 스토어에 배치해야합니다. – jww

답변

0

"키 스토어 파일은 하나의 인증서가있는 경우 위의 커넥터가 작동이. 그래서, 문제는 키 스토어를 생성하는 과정이다." 그래서 문제가 키 스토어의 특정 인증서/키 세트를 선택하는 경우 커넥터의 일부로 특정해야합니다.

이 항목을 지정하지 않으면 첫 번째 항목이 사용됩니다.

는 여기를 참조하십시오 : https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

특성 keyAlias ​​

키 스토어에 서버 키와 인증서에 사용되는 별명입니다. 가 지정되어 있지 않은 경우, 키스트 아로부터 읽힌 최초의 키가 사용됩니다.키 스토어에서 키를 읽는 순서는 이며 구현은 입니다. 키스트 레스트 으로부터 키를 읽어들이는 순서가 같지 않은 경우도 있습니다. 키 스토어에 키가 두 개 이상있는 경우 keyAlias는 올바른 키가 사용되도록 으로 구성하는 것이 좋습니다.

+0

제 편집을 확인하십시오. –

+0

CA 인증서가 시스템에 의해 신뢰되지 않으므로 오류가 발생합니다. OpenSSL을 사용하여 만든 CA의 경우 CA 공용 인증서를 가지고 열어서 창으로 가져옵니다. 인증 경로에서 인증서를 열 수 있습니다. 루트/중간 CA 인증서를 선택하십시오. 인증서보기를 클릭하십시오. 새 인증서 창에서 세부 정보 탭으로 이동하여 파일로 복사를 클릭하십시오. .cer 파일로 내 보냅니다. 그것을 연 다음 인증서 설치를 클릭하십시오. 마법사를 통해 이동하여 신뢰할 수있는 루트 인증서에 인증서를 설치하면 시스템에서 CA의 인증서를 신뢰하는 데 도움이됩니다. –