You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从.p12生成.pem文件:openssl命令致ASN.1编码异常求助

解决从.p12生成.pem时的OpenSSL ASN.1编码错误

你遇到的这个ASN.1标签错误,本质是用错了OpenSSL命令——openssl x509是专门处理X509证书文件的,但你的输入是PKCS#12格式的.p12文件(这是一个包含证书、私钥甚至CA链的容器格式),用x509命令去解析它肯定会格式不匹配,导致解析失败。

下面是正确的处理步骤,根据你的需求选择对应的命令:

  • 提取包含私钥和证书的完整PEM文件:
    这个命令会先要求你输入.p12文件的保护密码,然后可以设置一个新密码来加密输出的PEM文件(如果不想加密私钥,后面加-nodes参数即可):

    openssl pkcs12 -in Certificates.p12 -out Certificates.pem
    
  • 只提取证书(不含私钥):
    如果你只需要证书部分,用这个命令:

    openssl pkcs12 -in Certificates.p12 -clcerts -nokeys -out Certificates-only.pem
    
  • 只提取私钥(不含证书):
    单独导出私钥的命令:

    openssl pkcs12 -in Certificates.p12 -nocerts -out PrivateKey.pem
    

补充说明

  • 加上-nodes参数可以跳过输出PEM文件的密码加密,比如:
    openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
    
    但注意,无密码保护的私钥安全性较低,建议在生产环境中还是保留加密。

内容的提问来源于stack exchange,提问作者Sazzad Hissain Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:32:30