繁体   English   中英

将pfx格式化的私钥转换为pem格式

[英]Convert pfx formatted private key to pem format

我有一个很可能是pfx格式的私钥(不是很秘密)。 我需要将其转换为pem格式,以便在签名中使用它。

关键是在一行中。 它没有单独的开始和结束行。 它在一行中,以base64编码,长2284个字母(比我以前见过的常规x.509长)。 我还有其他一些变量,包括:

种子ID兼容性

我能够看到它是如何创建的。 首先创建一个

java.security.cert.X509Certificate

然后通过函数将其导出为PFX格式。

在该函数中,我看到提到的密钥库实例“ PKCS12”。 还可以看到ByteArrayOutputStream。

知道如何将这一行base64编码的私钥转换为pem格式吗? 该格式应由我用于签名的节点模块xmlCrypto接受。 当前,xmlCrypto使用密钥给出以下警告:

错误:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误的标签

能够解决这个问题。 问题是该文件不是纯pfx格式。 但是它采用base64编码格式。 为了在openssl工具的帮助下将其转换为pem格式,必须首先将文件解码为原始的.pfx格式。 并且不要使用在线解码器。 使用linux,您可以像这样解码它:

echo <the encoded pfx content> | base64 --decode > decoded-pfx-filename.pfx

之后,您可以使用openssl:

openssl pkcs12 -in decoded-pfx-filename.pfx -out cert-and-privkey-in-pem.pem -nodes

然后就完成了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM