104

最初に私の質問を説明させてください。CA から証明書を購入し、次の形式を使用して csr と秘密鍵を生成しました。

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

server.key ファイルを開くと、「-----BEGIN PRIVATE KEY-----」で始まっていることがわかります。

サーバーで SSL 証明書を使用していますが、すべて問題ないようです。

同じ証明書を AWS IAM にアップロードして、beanstalk ロードバランサーで使用できるようにします。この aws doc の次のコマンドを使用しますhttp://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth

iam-servercertupload -b public_key_certificate_file  -k privatekey.pem -s certificate_object_name

必要に応じて証明書ファイル名を変更しましたが、「400 MalformedCertificate Invalid Private Key」というエラーが表示され続けます。

興味深いのは、aws doc ページで、表示されるサンプルの秘密鍵が「-------Begin RSA Private Key--------」で始まることです。

openssl を使用して秘密鍵を RSA 秘密鍵に変換する方法はありますか?

4

3 に答える 3

177

OpenSSL の新しいバージョンにBEGIN PRIVATE KEYは、秘密鍵 + キーの種類を識別する OID (これは PKCS8 形式として知られています) が含まれているためです。古いスタイルのキー (PKCS1 または従来の OpenSSL 形式として知られている) を取得するには、次のようにします。

openssl rsa -in server.key -out server_new.key

または、PKCS1 キーを持っていて PKCS8 が必要な場合:

openssl pkcs8 -topk8 -nocrypt -in privkey.pem
于 2013-07-18T21:56:39.637 に答える