我有一个 DER 格式的公钥。使用 openssl 的 asn1parse 返回以下内容:
0:d=0 h1=4 1= 265 cons: SEQUENCE
4:d=1 h1=4 1= 256 prim: INTEGER: -4B95.........831 (I removed most of it)
264:d=1 h1=2 1= 3 prim: INTEGER
我使用以下命令将其转换为 PEM:
openssl rsa -RSAPublicKey_in -in myderkey -inform DER -outform PEM -out mypubkey
转换后 asn1parse 如下所示:
0:d=0 h1=4 1= X cons: SEQUENCE
4:d=1 h1=2 1= X cons: SEQUENCE
...
...
...
我使用以下方法将其转换回 DER:
openssl rsa -pubin -in mypubkey -inform PEM - outform DER -out backToDerKey
转换回来后 - asn1parse 没有改变(当密钥为 PEM 格式时保持不变)
有没有办法将 PEM 公钥转换为 DER,并具有与原始 DER 密钥相同的 ASN1?
尝试以编程方式创建公钥并将其保存到文件,但得到的结果与 openssl 相同。
使用
-RSAPublicKey_out
参数来openssl
保留原始 PKCS1 格式的 RSA 密钥。您需要在希望 OpenSSL 命令发出 PKCS1 格式的每个阶段执行此操作
rsa
。因此,如果您想要 PEM 文件的该格式,请执行以下操作:
如果您希望将其放在 DER 文件中,请执行以下操作: