我有一个.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
如何获得私钥及其证书?
看来您有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
我有一本书。密钥文件,当我这样做时 我得到 我也有一个朋友。cer文件,当我这样做时 我明白了 但是如果像这里指出的那样,我运行这样的命令: 我得到 但这似乎对钥匙不起作用,因为当我跑的时候
我有一本书。密钥文件,它是PEM格式的私钥文件。这个文件不是我做的,但我从某处得到的。 我想看看它的MD5哈希openssl工具,如下面的命令。 但这产生以下误差。 这里有一些. key文件的asn1parse。 还有什么我可以试试的吗?
我已经使用openssl生成了一个私钥,并在Terminal/command中执行以下命令: null 所有这些都无法解密我的密钥。下面是我根据这篇文章编写的类[https://stackoverflow.com/questions/35276820/decrypting-an-openssl-pem-encoded-rsa-privest-key-with-java]: 我对安全问题一无所知,所
我正在使用Ruby 2.5.x OpenSSL库研究椭圆曲线。我可以很容易地使用 但是给定一个私钥,我想重新生成公钥。 我知道OpenSSL可以做到这一点,因为命令行允许您这样做,Ruby比特币项目也可以做到这一点。但是Ruby比特币项目使用FFI而不是Ruby提供的接口有自己的OpenSSL接口。 Ruby 2.5.x openssl 库是否没有公开足够的 OpenSSL 接口,以便能够从私钥生
主要的问题是,我对C相当陌生,OpenSSL留档对我来说不够清晰,我尝试过使用读和写rsa键到C中的pem文件,但我不太明白。例如,函数如何创建私有和公共?而从何而来?pcszPassphrase的意义是什么? 我会解释,好像这是某种伪代码,这就是我想做的,粗体部分是我不知道如何做的: 生成私钥和公钥作为十六进制缓冲区(客户端) 基本上,我知道如何处理AES加密/解密和通信协议,反正他们已经实现了
问题内容: 我有以下几行代码可从Android上的密钥存储中获取私钥 一切正常,除了当操作系统从Android 5.1.1升级到Android 6.0.1时,第3行将抛出第一个执行代码。但是之后它将再次正常运行。现在我的解决方法是执行该行两次。同时,我也想知道是否有更好的方法来避免该异常。 更新资料 异常跟踪 问题答案: 什么时候发生此错误,为什么? 回答: 加载Android密钥并从密钥库存储公