将pfx文件转换为base46编码的公钥PEM文件

时间:2019-02-11 15:17:44

标签: openssl certificate client-certificates pfx

我不熟悉证书和密钥。

已给我一个pfx文件,要求是从base64编码的PEM文件中提取公钥。

我已经使用以下命令提取了私钥

openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes

我已经使用以下命令提取证书

 openssl pkcs12 -in certname.pfx -nokeys -out cert.pem

使用

的公共证书
openssl pkcs12 -in certname.pfx -nodes -clcerts -nokeys | openssl x509 -out public.crt

但是如何获取公钥?而base64如何编码?

1 个答案:

答案 0 :(得分:0)

PEM格式是base64格式的证书。因此,“公共”密钥应该在生成的“ cert.pem”文件中(以及所有链式证书中)。您可以在文本编辑器中打开该文件以查看它。

如果仅需要公钥证书,则可以运行以下命令。

  

openssl pkcs12 -in cert.pfx -nokeys -clcerts -out public.pem

您可以通过在openssl documentation中查找所使用的参数来了解原因:

  

-clcerts

     

仅输出客户端证书(不是CA证书)。

     

-nokeys

     

不会输出私钥。

     

输出文件名

     

写入证书和私钥的文件名,标准   默认输出。它们都是以PEM格式编写的。

如果PFX中没有链证书,则上述命令将输出与生成的cert.pem文件相同的pem文件。