Невозможно расшифровать закрытый ключ, хотя я знаю кодовую фразу
Я думаю, что моя проблема сводится к тому, что с ключом что-то не так, но я не могу просто расшифровать его для дальнейшего изучения, без разбора. Но я не уверен.
Я пытаюсь использовать стандартный метод:
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 был выше.
2 ответа
Я считаю, что ваш закрытый ключ был изменен, так как я смог продублировать то же сообщение об ошибке, изменив один символ в образце ключевого слова защищенного ключа, который я только что создал.
Вы можете воспроизвести это следующим образом -
- Создать секретную фразу защищенного закрытого ключа
- Расшифруйте закрытый ключ, чтобы убедиться, что он работает.
- Измените один символ внутри файла, содержащего зашифрованный закрытый ключ.
- Попробуйте расшифровать это сейчас.
[testuser @ whitehat.ssh] $ openssl rsa -in id_rsa -out id_rsa.decrypted Введите пароль для id_rsa: написание ключа RSA [testuser@whitehat .ssh]$ ls -al id_rsa* -rw-------. 1 testuser testuser 951 24 марта 15:01 id_rsa -rw-RW-r--. 1 testuser testuser 887 24 марта 15:02 id_rsa.decrypted -rw-р -r--. 1 testuser testuser 236 24 марта 14:52 id_rsa.pub [testuser@whitehat .ssh]$ vim id_rsa [testuser@whitehat .ssh]$ openssl rsa -in id_rsa -out id_rsa.decrypted Введите пароль для id_rsa: невозможно загрузить закрытый ключ 139900595279688: ошибка:0D07207B: процедуры кодирования asn1:ASN1_get_object: слишком длинный заголовок:asn1_lib.c:150: 139900595279688: ошибка:0D068066: процедуры кодирования asn1:ASN1_CHECK_TLEN: неверный заголовок объекта:tasn_dec.c:1306: 139900595279688: ошибка:0D07803A: процедуры кодирования asn1:ASN1_ITEM_EX_D2I: вложенная ошибка asn1:tasn_dec.c:381: тип =RSA 139900595279688: ошибка:04093004: подпрограммы rsa:OLD_RSA_PRIV_DECODE: библиотека RSA:rsa_ameth.c:115: 139900595279688: ошибка:0D07207B: процедуры кодирования asn1:ASN1_get_object: слишком длинный заголовок:asn1_lib.c:150: 139900595279688: ошибка:0D068066: процедуры кодирования asn1:ASN1_CHECK_TLEN: неверный заголовок объекта:tasn_dec.c:1306: 139900595279688: ошибка:0D07803A: процедуры кодирования asn1:ASN1_ITEM_EX_D2I: вложенная ошибка asn1:tasn_dec.c:381:Type=PKCS8_PRIV_KEY_INFO 139900595279688: ошибка:0907B00D: процедуры PEM:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132: [testuser@whitehat .ssh]$
Информация о версии ОС и openssl
[testuser@whitehat /]$ lsb_release -a LSB версия::core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64: печать-4.0-noarch Идентификатор дистрибьютора: Научный Описание: Scientific Linux release 6.2 (Carbon) Релиз: 6.2 Кодовое название: Carbon [testuser@whitehat /]$ rpm -q openssl OpenSSL-1.0.1e-30.el6_6.5.x86_64
Я оказался здесь, потому что у меня была та же проблема, но моя была вызвана интерфейсом экспорта сертификатов AWS ACM. (Сертификаты частного CA могут быть экспортированы с парольной фразой)
Кое-что о конкретной парольной фразе, которую я использовал... Не уверен, что именно вызвало проблему, но, скорее всего, это была длина или используемые символы.
Конечным результатом было то, что у меня был ключ с другой / сокращенной парольной фразой, чем я ожидал.
Надеюсь, что это помогает кому-то...