2013-08-27 3 views
23

У меня есть .key-файл, который является файлом закрытого ключа в формате PEM. Я не делал этого файла, но я получил это откуда-то.Не удалось загрузить закрытый ключ. (PEM-процедуры: PEM_read_bio: нет стартовой строки: pem_lib.c: 648: Ожидание: ЛЮБОЙ ЧАСТНЫЙ КЛЮЧ)

Я хотел увидеть его 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 

Вот некоторые asn1parse файла .key.

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 на «----- НАЧАТЬ ПЕРСОНАЛЬНЫЙ КЛЮЧ RSA -----» и «----- 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----- 

Наконец, это работает!

Смежные вопросы