Не может дешифровать закрытый ключ eventhough, я знаю пароль

Я думаю, что моя проблема сводится к факту, что-то неправильно с ключом, но я не могу только дешифровать его, для дальнейшего расследования, с парсингом его. Но я не уверен.

Я пытаюсь использовать стандартный метод:

openssl rsa -in ./id_rsa -out ./id_rsa.decrypted

Я думаю, что знаю пароль, потому что, когда я ввел неправильный, я добираюсь:

Enter pass phrase for ./id_rsa:
unable to load Private Key
140256774473360:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:544:
140256774473360:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:483

"плохо дешифруйте", довольно ясно. Теперь, когда я ввел свой на вид хороший пароль, я возвращаюсь:

Enter pass phrase for ./id_rsa:
unable to load Private Key
139662870623888:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:153:
139662870623888:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1314:
139662870623888:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=RSA
139662870623888:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115:
139662870623888:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:153:
139662870623888:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1314:
139662870623888:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=PKCS8_PRIV_KEY_INFO
139662870623888:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132:

Этому также не удалось загрузить ключ, но теперь это перестало работать на asn1 синтаксическом анализаторе, ничем о пароле.

Я могу так или иначе получить незашифрованную версию ключа и использовать другие инструменты для наблюдения что не так с?

Я видел некоторые сообщения, которые что-то изменило, и возможным причинам для на вид хороших ключей не удается проанализировать, но они все работали над незашифрованной версией. Но они только метод, который я видел к dercypt ключу, выше одного.

8
задан 24 June 2016 в 23:39
2 ответа

Я считаю, что ваш закрытый ключ был изменен, поскольку я смог продублировать то же сообщение об ошибке, изменив один символ в только что созданный мной образец защищенного ключа парольной фразы.

Вы можете воспроизвести это следующим образом -

  1. Создать защищенный секретный ключ парольной фразой
  2. Расшифровать секретный ключ, чтобы убедиться, что он работает.
  3. Измените один символ внутри файл, содержащий зашифрованный закрытый ключ.
  4. Попробуйте расшифровать его сейчас.
[testuser@whitehat .ssh]$ openssl rsa -in id_rsa -out id_rsa.decrypted
Enter pass phrase for id_rsa:
writing RSA key
[testuser@whitehat .ssh]$ ls -al id_rsa*
-rw-------. 1 testuser testuser 951 Mar 24 15:01 id_rsa
-rw-rw-r--. 1 testuser testuser 887 Mar 24 15:02 id_rsa.decrypted
-rw-r--r--. 1 testuser testuser 236 Mar 24 14:52 id_rsa.pub
[testuser@whitehat .ssh]$ vim id_rsa
[testuser@whitehat .ssh]$ openssl rsa -in id_rsa -out id_rsa.decrypted
Enter pass phrase for id_rsa:
unable to load Private Key
139900595279688:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:
139900595279688:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306:
139900595279688:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=RSA
139900595279688:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115:
139900595279688:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:
139900595279688:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306:
139900595279688:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=PKCS8_PRIV_KEY_INFO
139900595279688:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132:
[testuser@whitehat .ssh]$ 

Информация о версии ОС и openssl

[testuser@whitehat /]$ lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description:    Scientific Linux release 6.2 (Carbon)
Release:    6.2
Codename:   Carbon
[testuser@whitehat /]$ rpm -q openssl
openssl-1.0.1e-30.el6_6.5.x86_64
9
ответ дан 2 December 2019 в 22:58

Я оказался здесь, потому что у меня была та же проблема, но моя была вызвана интерфейсом экспорта сертификатов AWS ACM. (Сертификаты частного ЦС можно экспортировать с парольной фразой)

Что-то о конкретной парольной фразе, которую я использовал ... Точно не знаю, что вызвало проблему, но, вероятно, это была длина или использованные символы.

Конечным результатом был У меня был ключ с другой / сокращенной кодовой фразой, чем я ожидал.

Надеюсь, это поможет кому-то ...

1
ответ дан 2 December 2019 в 22:58

Теги

Похожие вопросы