[英]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.