将表示为十六进制字符串的X.509证书转换为PEM编码的X.509证书

4

能否将以HEX字符串表示的X.509证书转换为PEM编码的X.509证书?(.CER格式)

1个回答

9
您可以尝试这个命令(我假设它是DER编码的): cat cert.txt | xxd -r -p | openssl x509 -inform DER -out mycert.pem -outform PEM 它将其转换为二进制文件,然后通过管道传输给openssl以将其转换为pem格式。

这应该适用于Linux/MacOS/Cygwin(Windows)。不管怎样,使用我给出的命令,只需使用您的.hex文件而不是cert.txt即可。 - Boklucius
我需要输出格式为 .cer,而不是 .pem,所以我修改了命令:cat cert.hex | xxd -r -p | openssl x509 -inform DER -out mycert.cer -outform DER。这样正确吗? - user2427839
DER是二进制编码,PEM是ascii(base64)编码。cer文件可以是两者之一。根据你的问题描述,使用PEM命令即可。如果你的输入已经是DER格式,则不需要再次使用openssl进行转换,只需要运行cat cert.hex | xxd -r -p > mycert.cert即可。 - Boklucius
然后安装cygwin http://www.cygwin.com/,以便在Windows下获取Unix工具。 - Boklucius
Cygwin存在问题,我只使用Win32 OpenSSL。 - user2427839
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接