1. ホーム
  2. ssl

[解決済み] 秘密鍵をRSA秘密鍵に変換する方法は?

2022-12-29 18:07:16

質問

まず、私の質問を説明させてください。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ドキュメントから次のコマンドを使用します。 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のドキュメントページで、彼らが示すサンプルの秘密鍵は "-------Begin RSA Private Key--------" で始まっていることです。

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

どのように解決するのですか?

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