Cryptography 将X.509证书从十六进制格式转换为.cer格式

Cryptography 将X.509证书从十六进制格式转换为.cer格式,cryptography,openssl,certificate,ssl-certificate,x509,Cryptography,Openssl,Certificate,Ssl Certificate,X509,如何将X.509证书从十六进制转储格式转换为.CER格式?此外,是否应首先从十六进制转储中删除空白分隔符?谢谢。你可以用。它有一个数据转换器,将十六进制转换为PEM格式的数据。源代码也是可用的,因此如果您需要在代码中使用它,您可以查看它是如何完成的 或者您可以使用以下命令使用certutil.exe certutil -decodehex c:\cert.hex c:\cert.cer 通常,.cer可以是二进制编码的DER,也可以是具有“ASCII铠装”(称为PEM)的DER 如果你想创建D

如何将X.509证书从十六进制转储格式转换为.CER格式?此外,是否应首先从十六进制转储中删除空白分隔符?谢谢。

你可以用。它有一个数据转换器,将十六进制转换为PEM格式的数据。源代码也是可用的,因此如果您需要在代码中使用它,您可以查看它是如何完成的

或者您可以使用以下命令使用certutil.exe

certutil -decodehex c:\cert.hex c:\cert.cer

通常,
.cer
可以是二进制编码的DER,也可以是具有“ASCII铠装”(称为PEM)的DER

如果你想创建DER,你可能只需要解码十六进制。在这种情况下,您显然需要忽略十六进制中的任何空格(以及可能存在的任何其他虚假数据)


如果您希望使用PEM,则除了base 64之外,还需要对结果进行编码,并添加页眉和页脚文本。当然,您也可以使用现有的库进行转换。

是否可以使用microsoft的CertUtil.exe进行转换?我已经更新了答案@谢谢你提到certutil。我不知道这是否可能。我学到了一些新东西。目标是将十六进制转换为
.cer
,而不是
.der
。我还发现,它不需要删除十六进制字节之间的空格分隔符-你知道为什么这样做吗?你的工具可以为你删除空格
.cer
.der
只是扩展。DER是
.cer
通常编码的内容,不过微软通常也允许
.cer
采用PEM编码以方便使用。说你不想转换成
.cer
而不是
.der
是没有意义的-除了扩展名之外,这些文件都是一样的(这就像说你想要一个自述文件而不是
.txt
文件)。