DER编码证书转PEM格式遇openssl错误,如何解决?
解决DER转PEM时的ASN.1编码错误
你遇到的错误是因为手里的十六进制文本并非直接可用的DER二进制文件,OpenSSL无法识别纯十六进制格式的输入,需要先把十六进制转换成二进制DER文件,再执行转换命令。
操作步骤:
将十六进制文本转为二进制DER文件
假设你的十六进制内容保存在cert_hex.txt文件中(注意要去掉所有非十六进制字符,比如空格、换行、0x前缀),执行以下命令生成二进制DER文件:xxd -r -p cert_hex.txt > CERTIFICATE.der解释:
xxd -r -p会把纯十六进制字符串反向解析为二进制数据,输出到指定的DER文件中。执行原OpenSSL转换命令
用生成的二进制DER文件重新执行转换:openssl x509 -inform der -in CERTIFICATE.der -out PEM_CERTIFICATE.pem
额外排查点:
- 检查十六进制文本是否完整,有没有遗漏字符或混入非0-9、a-f/A-F的内容
- 如果仍报错,用
openssl asn1parse -inform der -in CERTIFICATE.der查看文件的ASN.1结构,确认是否为合法的X509证书
内容的提问来源于stack exchange,提问作者sasaki
相关产品推荐
相关产品推荐

