Answers:
我相信,最简单的方法是使用Windows管理控制台中的证书管理器将其导入然后导出。
PFX文件是PKCS#12个人信息交换语法标准捆绑包。它们可以包括任意数量的私钥以及随附的X.509证书和证书颁发机构链(设置证书)。
如果要提取客户端证书,则可以使用OpenSSL的PKCS12工具。
openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts
上面的命令将以PEM格式输出证书。macOS和Window都处理“ .crt”文件扩展名。
您在问题中提到了“ .cer”扩展名,该扩展名通常用于DER编码文件。二进制编码。首先尝试“ .crt”文件,如果不接受,可以轻松地将其从PEM转换为DER:
openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer
如果您在PowerShell中工作,则可以在给定pfx文件InputBundle.pfx的情况下使用类似以下的内容来生成DER编码的(二进制)证书文件OutputCert.der:
Get-PfxCertificate -FilePath InputBundle.pfx |
Export-Certificate -FilePath OutputCert.der -Type CERT
添加了换行符以使内容更加清晰,但是您当然可以将所有内容都放在一行中。
如果您需要ASCII / Base64编码的PEM格式的证书,则可以按照其他地方的说明,采取额外的步骤,例如:https : //superuser.com/questions/351548/windows-integrated-utility-to-convert从上到下
如果需要导出为与DER编码不同的格式,则可以将-Type
Export-Certificate 的参数更改为使用.NET支持的类型,如help Export-Certificate -Detailed
:
-Type <CertType>
Specifies the type of output file for the certificate export as follows.
-- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates.
-- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate.
-- P7B: A PKCS#7 file format which can contain one or more certificates.
我想添加一种我认为最简单的方法。
只需右键单击pfx文件,然后单击向导中的“安装”,然后将其添加到商店(我已添加到“个人商店”中)。
在开始菜单中,键入certmgr.msc并转到CertManager程序。
找到您的pfx证书(顶部的标签是各个商店),单击“导出”按钮并按照向导进行操作(有一个选项可以导出为.CER)
本质上,它与安德鲁的答案具有相同的作用,但是避免使用Windows管理控制台(直接进入导入/导出)。