web-dev-qa-db-ja.com

証明書署名要求から公開鍵をエクスポートする方法は?

Androidコードを記述して、RSAキーペアと証明書署名リクエスト(csr.txt)を生成します)これが私のcsrコンテンツです:

-----BEGIN CERTIFICATE REQUEST-----
MIIBojCCAQ0CAQAwQjEVMBMGA1UEAwwMdGhhbmhsYW0uY29tMQwwCgYDVQQKDANC
S1UxGzAZBgNVBAsMElRlbGVjb20gRGVwYXJ0bWVudDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEA0beMquCjIe3ILA8RpTTW/Xb+jXOz7g+xQJtBPL+fih8sB/d6
9u93nGGg+Dra1HS6bm2gns0J/Zm9A/AJgB3zAW5hpX0bgL2BJ/dcnjPMh3/peNWs
elu0sMOqYARFxCbKc3YPC04ZKp6RKgar5AhZAoOKuQLZtmb4EquxoM7CTqECAwEA
AaAiMCAGCSqGSIb3DQEJDjETMBEwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0B
AQsDgYEAMvdLO8e7llE+IG4smDtz8A9edTqbbglUMPMASVTEn1F7A1lu1u79depE
rNZtk983qflG7I57cvKS65O0G+Qo0xmvRNLFVw6iETwR16uPx3ffisDBPWJBIySI
Slh1mPRLgky1+EQezWzG5I7Nozo1DDk2skjbB4v7acFBcRoSl6Y=
-----END CERTIFICATE REQUEST-----

私は link が私のcsrファイルをデコードできることを発見しました: enter image description here

次に、opensslを使用して、このcsrファイルからpublickey.pemに公開鍵をエクスポートするにはどうすればよいですか?

これを行うことができるコマンドは何ですか?

上級者に感謝します。

8

公開鍵のみをpublickey.pemという名前のローカルファイルに出力するには:
openssl req -in csr.txt -noout -pubkey -out publickey.pem

最後の引数をドロップすることにより、ファイルに入れずに(PEMエンコードされた)キーを端末で表示できます。
openssl req -in csr.txt -noout -pubkey

注:デフォルトではCSR全体が出力ファイルに配置されるため、-nooutオプションが必要ですが、質問では公開鍵のみを求められます。

ボーナスポイント:BASE64でエンコードされたPEM出力の内部を調べ、16進形式で実際の公開鍵を確認するには、opensslのpkey関数にパイプします。
openssl req -in csr.txt -noout -pubkey | openssl pkey -pubin -noout -text

10
Liam Dennehy

openssl req -in file.csr -pubkey -out pubkey.pem

3
mat