OpenSSL:从EC密钥生成CSR失败,并出现ASN1解析器错误

时间:2018-07-11 09:01:51

标签: openssl

我使用以下openssl命令生成EC私钥:

openssl ecparam -genkey -name brainpoolP256r1 -out root.key -outform der

当我尝试从中生成CSR时:

openssl req -new -key root.key -keyform der -out root.crt

我收到ASN1解析错误: 无法加载私钥

1216:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\asn1\tasn_dec.c:1200:
1216:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:629:
1216:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\asn1\tasn_dec.c:1200:
1216:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:374:Type=RSA
1216:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:.\crypto\rsa\rsa_ameth.c:121:
1216:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\asn1\tasn_dec.c:1200:
1216:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:374:Type=PKCS8_PRIV_KEY_INFO

如果我在密钥生成命令后附加-noout,则会得到一个开头没有ec_key_info的11个字节的密钥文件,并且CSR生成成功。

这仅在版本1.n之前的1.0.2中发生。在版本“ 1.0.2o”中,默认情况下,生成的密钥文件不包含11个字节,因此我可以生成CSR而不会出现错误。 这是一个已知的“错误”吗?

0 个答案:

没有答案