httpd ApacheサーバーのJKSファイルから.keyおよび.crtファイルを生成する方法


19

私が持っているmycert.jksがファイルのみ。今、私は.keyと.crtファイルを抽出して生成し、Apache 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形式です。PEMに変換するステップを追加
-exeral

thnx、私もまだ試していなかった作業も
Sohan

keytool -exportcert -rfcPEM形式で書き込み、変換の必要はありません。または、p12を取得したら、PEMでopenssl pkcs12 -nokeys証明書チェーン全体を書き込みます。この証明書がkeytool-default自己署名証明書ではなく、実際のCAからのものである場合、通常はOpenSSL(httpdなど)を使用するサーバーに適しています。
dave_thompson_085

1
注:エイリアスは、エクスポート時に名前がわかっていれば、証明書の名前にできます。人々が最初のコマンドを実行するのに苦労している場合に言及したかった。
GMルーシッド

19

ここに私がしていること、

最初にキーをエクスポートします:

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

Apache 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=Votes

Windows上のChromeでjksキーストアファイルからcrtを作成する方法を示しました。

  • 赤い線の付いたjksを使用しているブラウザのURLに移動すると、左側にロック記号が表示されます

  • 安全でない部分をクリックすると、情報ダイアログが開きます

  • 証明書(無効)をクリックし、開いたら[詳細]をクリックします。

  • ファイルへのコピーを押して...指示に従ってください

最後に、CRTにキーストアファイルがあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.