如何从证书签名请求中导出公钥?

nis*_*662 11 certificate openssl

我编写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-----
Run Code Online (Sandbox Code Playgroud)

我发现一个链接可以解码我的 csr 文件: 在此处输入图片说明

那么如何使用 openssl 将公钥从这个 csr 文件导出到 publickey.pem?

什么命令可以做到这一点?

感谢提前。

小智 13

仅将公钥输出到名为 的本地文件publickey.pem
openssl req -in csr.txt -noout -pubkey -out publickey.pem

您可以通过删除最后一个参数来查看终端上的(PEM 编码的)密钥,而无需将其放入文件中:
openssl req -in csr.txt -noout -pubkey

注意:该-noout选项是必需的,因为默认情况下整个 CSR 将放置在输出文件中,而您的问题仅要求提供公钥。

加分项:要查看 BASE64 编码的 PEM 输出内部并查看十六进制格式的实际公钥,请将其通过管道传递给pkeyopenssl 函数:
openssl req -in csr.txt -noout -pubkey | openssl pkey -pubin -noout -text


mat*_*mat 5

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