私の問題は、キーに問題があるという事実に起因していると思いますが、さらに分析するために、解析せずに単に解読することはできません。しかし、私にはわかりません。
私は標準的な方法を使用しようとしています:
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パーサーでは失敗しました。パスフレーズは関係ありません。
どういうわけか、暗号化されていないバージョンのキーを取得し、他のツールを使用して何が問題になっているのかを確認できますか?
何かが変更され、一見良いキーの考えられる原因が解析に失敗するという投稿をいくつか見ましたが、それらはすべて暗号化されていないバージョンで動作しました。しかし、私が鍵をデリシープトするのを見た彼らの唯一の方法は上記のものです。
@kasperdはい、それは悪いパスフレーズを言います。opensslを除いて、他のすべてのツールはそれが悪いフレーズだと言っています。しかし、opensslの振る舞いから、私はそれを良いものだと思います。私はそれらのキーをしばらく使用していませんが、それは私の「標準」パスワードの1つなので、適合します。
—
luk32 2015年
ssh-keygen
フードの下でopensslを使用しませんか?
@dawud試してみましたが、このツールは入力がすでにデコードされていることを前提としており、パスフレーズを要求せず、すぐに「ヘッダーが長すぎます」と言います。暗号化されたバージョンを取得した後、それらのキーの何が問題なのかを確認する次のステップだと思います。
—
luk32 2015年
症状を再現するために、ファイルのコピーと正しいパスフレーズを要求することができます。しかし、私はそのアプローチにいくつかの問題を見ることができました。だから私はここで推測しているだけであり、あなたの質問以外に私の推測が機能するかどうかをテストする良い方法はありません。
—
kasperd 2015年
意図的に破損したファイルでopenssl復号化コマンドをテストすると、正しいパスワードと無効なパスワードの両方で同じエラーが発生しました。これにより、ランダムなビットフリップが原因で、暗号化されたファイルが時間の経過とともに破損した可能性を疑うようになりました。
—
kasperd 2015年
ssh-keygen
。を使用ssh-keygen
してそれを復号化しようとしましたか?ssh-keygen -p -f keyfile
キーファイルのパスフレーズを変更します(ファイルを上書きするため、最初にコピーを作成します)。新しいパスフレーズとして空のパスフレーズを指定すると、ファイルが復号化されます。