RSA 到 DER 异常
RSA to DER anomaly
我有一个 PEM 格式的私钥,当我在上面 运行 一个 openssl asn1parse 时,我得到以下信息:
0:d=0 hl=3 l= 159 cons: SEQUENCE
3:d=1 hl=2 l= 13 cons: SEQUENCE
5:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
16:d=2 hl=2 l= 0 prim: NULL
18:d=1 hl=3 l= 141 prim: BIT STRING
但是,如果我将此 PEM 转换为 DER,并再次执行 openssl asn1parse,我将丢失该包装器,并且生成的文件大小会小一些。
如何将 RSA PEM 转换为 DER,同时保留上述包装器?
您在评论中提到的 -----BEGIN PRIVATE KEY-----
header 表示您拥有 PKCS8 格式的私钥。虽然我觉得有点奇怪。我本来希望 asn1parse 输出看起来更像这样:
0:d=0 hl=4 l=1213 cons: SEQUENCE
4:d=1 hl=2 l= 1 prim: INTEGER :00
7:d=1 hl=2 l= 13 cons: SEQUENCE
9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
20:d=2 hl=2 l= 0 prim: NULL
22:d=1 hl=4 l=1191 prim: OCTET STRING
请注意,您的输出中没有 INTEGER 字段。
您可以使用 openssl pkcs8
实用程序将 PKCS8 文件从 PEM 转换为 DER
openssl pkcs8 -topk8 -in rsakey.pem -out rsakey.der -outform DER -nocrypt
我有一个 PEM 格式的私钥,当我在上面 运行 一个 openssl asn1parse 时,我得到以下信息:
0:d=0 hl=3 l= 159 cons: SEQUENCE
3:d=1 hl=2 l= 13 cons: SEQUENCE
5:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
16:d=2 hl=2 l= 0 prim: NULL
18:d=1 hl=3 l= 141 prim: BIT STRING
但是,如果我将此 PEM 转换为 DER,并再次执行 openssl asn1parse,我将丢失该包装器,并且生成的文件大小会小一些。
如何将 RSA PEM 转换为 DER,同时保留上述包装器?
您在评论中提到的 -----BEGIN PRIVATE KEY-----
header 表示您拥有 PKCS8 格式的私钥。虽然我觉得有点奇怪。我本来希望 asn1parse 输出看起来更像这样:
0:d=0 hl=4 l=1213 cons: SEQUENCE
4:d=1 hl=2 l= 1 prim: INTEGER :00
7:d=1 hl=2 l= 13 cons: SEQUENCE
9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
20:d=2 hl=2 l= 0 prim: NULL
22:d=1 hl=4 l=1191 prim: OCTET STRING
请注意,您的输出中没有 INTEGER 字段。
您可以使用 openssl pkcs8
实用程序将 PKCS8 文件从 PEM 转换为 DER
openssl pkcs8 -topk8 -in rsakey.pem -out rsakey.der -outform DER -nocrypt