SSL証明書からPEMファイルを作成するにはどうすればよいですか?
これらは私が利用できるファイルです:
.crt
server.csr
server.key
キーはすでにPEM形式である可能性がありますが、.crtまたは.keyで名前が付けられているだけです。
ファイルの内容がで始まり-----BEGIN
、テキストエディタで読むことができる場合:
このファイルはbase64を使用しており、バイナリ形式ではなくASCIIで読み取ることができます。証明書はすでにPEM形式になっています。拡張子を.pemに変更するだけです。
ファイルがバイナリの場合:
server.crtの場合、次を使用します
openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem
server.keyにはopenssl rsa
、の代わりに使用しますopenssl x509
。
server.keyはおそらく秘密鍵であり、.crtファイルは返された署名済みのx509証明書です。
これがWebサーバー用であり、個別の秘密鍵と公開鍵のロードを指定できない場合:
2つのファイルを連結する必要がある場合があります。この使用のために:
cat server.crt server.key > server.includesprivatekey.pem
このファイルで保持する権限を管理しやすくするために、「includesprivatekey」を使用してファイルに名前を付けることをお勧めします。
AWS ELB に対してこれを行う必要がありました。ダイアログに何度も打ちのめされた後、最終的にこれが私にとってうまくいきました:
openssl rsa -in server.key -text > private.pem
openssl x509 -inform PEM -in server.crt > public.pem
ありがとうNCZ
編集:@floatingrockが言うように
AWS では、ファイル名の先頭にfile://
. したがって、次のようになります。
aws iam upload-server-certificate --server-certificate-name blah --certificate-body file://path/to/server.crt --private-key file://path/to/private.key --path /cloudfront/static/
http://docs.aws.amazon.com/cli/latest/reference/iam/upload-server-certificate.html
pem
ファイルには、証明書と秘密鍵が含まれています。証明書/キーの形式によって異なりますが、おそらく次のように簡単です。
cat server.crt server.key > server.pem
さらに、パスフレーズを要求したくない場合は、次のコマンドを実行する必要があります。
openssl rsa -in server.key -out server.key
Godaddy からアプリ エンジンに移行しようとしていました。トリックは次の行を使用することでした:
openssl req -new -newkey rsa:2048 -nodes -keyout name.unencrypted.priv.key -out name.csr
そのままですが、name を私のドメイン名に置き換えます (実際には重要ではありません)。
そして、www.name.com としての通称/組織に関するすべての質問に答えました。
次に、csr を開いてコピーし、go daddy に貼り付けてから、ダウンロードして解凍し、ターミナルで解凍したフォルダーに移動して、次のように入力しました。
cat otherfilegodaddygivesyou.crt gd_bundle-g2-g1.crt > name.crt
次に、 Trouble with Google Apps Custom Domain SSLの次の手順を使用しました。
openssl rsa -in privateKey.key -text > private.pem
openssl x509 -inform PEM -in www_mydomain_com.crt > public.pem
まったく同じですが、privateKey.key の代わりに name.unencrypted.priv.key を使用し、www_mydomain_com.crt の代わりに name.crt を使用しました。
次に、「PEM でエンコードされた X.509 証明書」の public.pem を管理コンソールにアップロードし、「暗号化されていない PEM でエンコードされた RSA 秘密鍵」の private.pem をアップロードしました。
..そして、それはついにうまくいきました。
GoDaddy 証明書を AWS にアップロードしようとして何度か失敗しましたが、最終的には非常に簡単でした。何も .pem に変換する必要はありません。チェーン パラメーターに GoDaddy バンドル証明書を必ず含める必要があります。
aws iam upload-server-certificate
--server-certificate-name mycert
--certificate-body file://try2/40271b1b25236fd1.crt
--private-key file://server.key
--path /cloudfront/production/
--certificate-chain file://try2/gdig2_bundle.crt
そして、以前に失敗したアップロードを削除するには、次のことができます
aws iam delete-server-certificate --server-certificate-name mypreviouscert