2013-08-27 56 views
23

我有一個.key文件,它是PEM格式的私鑰文件。我沒有製作這個文件,但我從某個地方得到了這個文件。無法加載私鑰。 (PEM例程:PEM_read_bio:no start line:pem_lib.c:648:Expecting:ANY PRIVATE KEY)

我想看到它的MD5散列與openssl工具就像下面的命令。

openssl rsa -in server.key -modulus -noout 

但是,這會產生以下錯誤。

unable to load Private Key 
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY 

這是一些.key文件的asn1parse。

openssl asn1parse -in server.key 
0:d=0 hl=4 l= 603 cons: SEQUENCE 
4:d=1 hl=2 l= 1 prim: INTEGER   :00 
7:d=1 hl=3 l= 129 prim: INTEGER   :C141201603899993919CBAA56985E9C7 
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57 
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D 
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF 
139:d=1 hl=2 l= 3 prim: INTEGER   :010001 
144:d=1 hl=3 l= 128 prim: INTEGER   :1687B9AE67562CEDEBDD7A531B84CDB7 
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539 
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2 
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1 

... 

還有什麼我可以嘗試嗎?

+0

什麼是PEM文件的確切頁眉/頁腳?如果您使用公鑰發送,則可能會出現此錯誤。此外,您列出的命令不會給MD5散列。它會給出密鑰的模數。 – gtrig

+4

@gtrig,謝謝你的提示。我將PEM文件的頁眉和頁腳更改爲「----- BEGIN RSA PRIVATE KEY -----」和「----- END RSA PRIVATE KEY -----」。最後,它的工作原理! – tkpl

+1

把你的評論作爲答案,否則這將看起來沒有答案 – nrathaus

回答

4
> I have a .key file which is PEM formatted private key file. 
> ... 
> Here's some asn1parse of the .key file... 

它與asn1parse使我相信其 PEM編碼的出現確定。


有什麼更多的,我可以試試嗎?

因爲它似乎是ASN.1,請嘗試:

$ openssl rsa -in server.key -inform DER -modulus -noout 

通知的-inform DER到編碼之間切換。

17

我改變了PEM文件的頁眉和頁腳

-----BEGIN RSA PRIVATE KEY----- 

-----END RSA PRIVATE KEY----- 

最後,它的工作原理!

4

刪除.key文件開始處的任何空格。

相關問題