httpd Apache 서버의 JKS 파일에서 .key 및 .crt 파일을 생성하는 방법


19

나는이 mycert.jks는 전용 파일. 이제 .key 및 .crt 파일 을 추출하고 생성 하여 아파치 httpd 서버에서 사용해야합니다.

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 

누구나이 작업을 수행하기 위해 모든 단계를 나열 할 수 있습니까? 검색했지만 단계를 이해하고 혼합하고 일치시키는 구체적인 예는 없습니다.

제안 해주세요!

[편집] 아래 답변에서 단계를 수행 한 후 오류가 발생합니다.

8/‎21/‎2015 9:07 PM] Sohan Bafna: 
    [Fri Aug 21 15:32:03.008511 2015] [ssl:emerg] [pid 14:tid 140151694997376] AH02562: Failed to configure certificate 0.0.0.0:4545:0 (with chain), check /home/certs/smp_c
    ert_key_store.crt
    [Fri Aug 21 15:32:03.008913 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED
     CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
    [Fri Aug 21 15:32:03.008959 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib 

답변:


29

.jks는 키 저장소이며 Java입니다.

Java의 keytool 바이너리를 사용하십시오 .

.crt 내보내기 :

keytool -export -alias mydomain -file mydomain.der -keystore mycert.jks

인증서를 PEM으로 변환하십시오 .

openssl x509 -inform der -in mydomain.der -out certificate.pem

키를 내 보냅니다 .

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

암호화되지 않은 PEM에 대한 콘서트 PKCS12 키 :

openssl pkcs12 -in keystore.p12  -nodes -nocerts -out mydomain.key

크레딧 :


작동하지 않음, 오류 발생
Sohan

내 보낸 인증서는 DER 형식입니다.
exeral

thnx, 그것은 내가 아직 시도하지 않은 작동 할 수 있습니다
Sohan

keytool -exportcert -rfcPEM 형식으로 작성하며 변환 할 필요가 없습니다. 또는 p12가 있으면 openssl pkcs12 -nokeys전체 인증서 체인 을 PEM에 작성합니다. 이 인증서가 keytool-default self-signed cert가 아닌 실제 CA에서 온 경우 (httpd와 같은) OpenSSL을 사용하는 서버에 더 좋습니다.
dave_thompson_085

1
참고 : 별명은 인증서를 내보낼 때의 이름을 알고있는 경우 인증서 이름이 될 수 있습니다. 사람들이 첫 번째 명령을 실행하는 데 어려움을 겪고 있다고 언급하고 싶었습니다.
GM Lucid

19

여기 내가하는 일이 있습니다.

먼저 키를 내 보냅니다.

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

아파치 SSL 인증서 파일의 경우 인증서 만 필요합니다.

openssl pkcs12 -in keystore.p12 -nokeys -out my_key_store.crt

SSL 키 파일의 경우 키만 필요합니다.

openssl pkcs12 -in keystore.p12 -nocerts -nodes -out my_store.key


0

여기에 답이 있습니다.

/programming/7580508/getting-chrome-to-accept-self-signed-localhost-certificate?page=2&tab= 투표

Windows의 Chrome에서 jks 키 저장소 파일에서 crt를 작성하는 방법을 보여줍니다.

  • 빨간색 선으로 jks를 사용하는 브라우저의 URL로 이동하면 왼쪽에 자물쇠 기호가 있습니다.

  • 안전하지 않은 부품을 클릭하면 정보 대화 상자가 열립니다.

  • 인증서 (잘못된)를 클릭하고 열 때 자세히를 클릭하십시오.

  • 파일로 복사 ...를 누르고 지시를 따릅니다.

마지막으로 crt에 키 저장소 파일이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.