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

Openssl 将表示为十六进制字符串的X.509证书转换为PEM编码的X.509证书,openssl,certificate,ssl-certificate,pem,x509,Openssl,Certificate,Ssl Certificate,Pem,X509,是否可以将表示为十六进制字符串的X.509证书转换为PEM编码的X.509证书?(.CER格式)您可以试试这个(我想它是DER编码的) cat cert.txt | xxd-r-p | openssl x509-通知DER-out mycert.pem-输出pem 它将其转换为二进制文件,然后通过管道将其转换为openssl以将其转换为pem是否应首先从十六进制转储中删除空白分隔符?另外,如果我有扩展名为.hex的源十六进制转储文件,如何转换为.cer?没关系,两种方式都可以。使用我给出的命令,

是否可以将表示为十六进制字符串的X.509证书转换为PEM编码的X.509证书?(.CER格式)

您可以试试这个(我想它是DER编码的)
cat cert.txt | xxd-r-p | openssl x509-通知DER-out mycert.pem-输出pem


它将其转换为二进制文件,然后通过管道将其转换为openssl以将其转换为pem

是否应首先从十六进制转储中删除空白分隔符?另外,如果我有扩展名为.hex的源十六进制转储文件,如何转换为.cer?没关系,两种方式都可以。使用我给出的命令,只需使用you.hex文件而不是cert.txt。这应该在Linux/MacOS/Cygwin(Windows)下工作,我需要输出格式.cer,而不是.pem,所以我修改了命令:
cat cert.hex | xxd-r-p | openssl x509-inform DER-out mycert.cer-outform DER
正确吗?DER是二进制编码,pem是ascii(base64)。cer文件可以是。在您的问题中,您已经编写了PEM,因此命令与PEM一起使用。如果您输入的是alread DER,则无需使用openssl再次转换,那么
cat cert.hex | xxd-r-p>mycert.cert
就足够了。很抱歉,我没有指定Windows需要此命令,上面的命令是针对Linux/Unix的