web-dev-qa-db-ja.com

証明書から公開キーを.pem形式で保存する方法

以下のopensslコマンドを使用して、公開鍵を.pemファイルに保存しています。

openssl> x509 -in E:/mycert.pem -pubkey  -out E:/mypubkey.pem

しかし、このコマンドを使用しようとすると、証明書情報全体がmypubkey.pemファイルに保存されます。

私は私の公開鍵を保存できることを見てきました

openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem

しかし、それはエラーを投げています。 「>」演算子を使用できません。

53
Ankit

これを行うにはいくつかの方法があります。

まず、opensslコマンドプロンプトモードに入る代わりに、Windowsプロンプトから1つのコマンドラインですべてを入力します。

E:\> openssl x509 -pubkey -noout -in cert.pem  > pubkey.pem

何らかの理由でopensslコマンドのプロンプトを使用する必要がある場合は、「>」までのすべてを入力してください。次に、OpenSSLが公開キー情報を画面に出力します。これをコピーして、pubkey.pemというファイルに貼り付けることができます。

openssl> x509 -pubkey -noout -in cert.pem

出力は次のようになります。

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl
FQIDAQAB
-----END PUBLIC KEY-----
119
gtrig

rSAキーの場合

openssl rsa  -pubout -in my_rsa_key.pem

opensshの形式で必要な場合は、 RSA秘密鍵を使用して公開鍵を生成しますか? を参照してください。

公開鍵は秘密鍵から生成され、sshはIDファイル(秘密鍵ファイル)を使用して公開鍵を生成してサーバーに送信し、IDファイルの秘密鍵を介してサーバーから暗号化されたトークンを暗号化解除します。

5
Alex Punnen