标准 Windows 7 安装中是否有可用的实用程序,允许我将 DER 编码证书转换为 PEM 编码证书或显示 DER 编码证书的 ASN.1 文本?
答案1
不完全是一个“实用程序”,但您可以将 PEM 证书导入 Windows 证书存储区并将其导出回 DER。
事实上,Windows 很好地支持 PEM 编码的证书,它只是无法识别.pem
扩展名——您可以将文件重命名为name.crt
或name.cer
,然后就可以打开它并查看所有信息。
“PEM 编码”仅表示“begin”/“end”标头之间的 Base64 编码 DER。您可以使用任何 Base64 解码器来实现此目的。
例如,PowerShell 有[System.Convert]::FromBase64String($str)
...
您还可以使用适用于 Windows 的 OpenSSL:
opensslx509-in foo.pem-out foo.der-outform der
openssl asn1parse -in foo.pem openssl asn1parse -in foo.der -inform der
或这个在线 ASN.1 解码器。
答案2
您可以从 Windows 内置的证书对话框中导出到 PEM。导出格式称为“Base-64 编码 X.509 (.CER)”,可生成具有 .CER 文件扩展名的有效 PEM 文件。
演练:
- 通过双击 Windows 资源管理器中的证书文件、在您选择的 Web 浏览器中检查证书文件或从证书管理工具 (certmgr) 中打开任何证书
- 切换到证书对话框的详细信息选项卡
- 单击复制到文件...按钮
- 在证书导出向导窗口中单击下一步
- 在导出文件表单屏幕上选择“Base-64 编码 X.509 (.CER)”,然后单击下一步。
- 单击浏览...或输入文件名,然后单击下一步
- 单击下一步并完成
导出文件的扩展名可能是 .CER,但文件格式是有效的 PEM。