微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用openssl获取私钥无起始行:pem_lib.c:703:预期:任何私钥

如何解决无法使用openssl获取私钥无起始行:pem_lib.c:703:预期:任何私钥

看来您有DER格式为的证书,而不是PEM。这就是为什么当您提供-inform PEM命令行参数(告诉openssl期望什么样的输入格式)时它可以正常工作的原因。

您的私钥可能使用了相同的编码。看起来该openssl rsa命令似乎也接受-inform参数,因此请尝试:

openssl rsa -text -in file.key -inform DER

一个PEM编码文件是编码,看起来像一个纯文本:

-----BEGIN RSA PRIVATE KEY-----
MIGrAgEAAiEA0tlSKz5Iauj6ud3helAf5GguXeLUeFFTgHrpC3b2O20CAwEAAQIh
ALeEtAIzebCkC+bO+rwNFVORb0bA9xN2n5dyTw/Ba285AhEA9FFDtx4VAxMVB2GU
QfJ/2wIRANzuXKda/nRXIyRw1ArE2FcCECYhGKRXeYgFTl7ch7rTEckCEQDTMShw
8pL7M7DsTM7l3HXRAhAhIMYKQawc+Y7MNE4kQWYe
-----END RSA PRIVATE KEY-----

While DER是二进制编码格式。

有时,密钥以PKCS#8格式(可以是PEM或DER编码)分发。尝试一下,看看会得到什么:

openssl pkcs8 -in file.key -inform der

解决方法

我有一个.key文件,当我这样做时

openssl rsa -text -in file.key

我懂了

unable to load Private Key
140000419358368:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY

我也有一个.cer文件,当我这样做时

openssl x509 -text -in file.cer

我懂了

unable to load certificate
140387178489504:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

但是,如果按照的指示运行,则应执行以下命令:

openssl x509 -text -inform DER -in file.cer

我懂了

Certificate:
    Data:
        Version: 3 (0x2)
        Some more information
        ...
-----BEGIN CERTIFICATE-----
MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NjcwDQYJKoZIhvcNAQEF
...
-----END CERTIFICATE-----

但这似乎不适用于该键,因为当我运行时

openssl rsa -text -inform DER -in aaa010101aaa__csd_10.key

我懂了

unable to load Private Key
140004844304032:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1337:
140004844304032:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:849:
140004844304032:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:769:Field=version,Type=RSA
140004844304032:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115:
140004844304032:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1337:
140004844304032:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:849:
140004844304032:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:769:Field=version,Type=PKCS8_PRIV_KEY_INFO

如何获得私钥及其证书?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。