私の問題は、キーに何かが間違っているという事実に起因すると思いますが、さらに分析するために、解析せずに単に解読することはできません。しかし、私にはわかりません。
私は標準的な方法を使用しようとしています:
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パーサーでは失敗しました。パスフレーズは関係ありません。
どういうわけか、暗号化されていないバージョンのキーを取得し、他のツールを使用して何が問題になっているのかを確認できますか?
何かが変更され、一見良いキーの考えられる原因が解析に失敗するという投稿をいくつか見ましたが、それらはすべて暗号化されていないバージョンで動作しました。しかし、私が鍵をデリシープトするのを見た彼らの唯一の方法は、上記のものです。
作成したサンプルのパスフレーズ保護キーの1文字を変更することで同じエラーメッセージを複製できたため、秘密キーが変更されたと思います。
これは次のように再現できます-
[testuser @ whitehat .ssh] $ openssl rsa -in id_rsa -out id_rsa.decrypted id_rsa: writing RSA key [testuser @ホワイトハット.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 id_rsaのパスフレーズを入力してください: 秘密鍵をロードできません 139900595279688:error:0D07207B:asn1エンコードルーチン:ASN1_get_object:header too long:asn1_lib.c:150:[。 ____。 381:Type = RSA 139900595279688:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:115: 139900595279688:error:0D07207B:asn1エンコードルーチン:ASN1_get_object:headerが長すぎます:asn1_lib.c:150: 139900595279688:error:0D068066:asn1エンコードルーチン:ASN1_CHECK_TLEN:badオブジェクトヘッダー:tasn_dec.c:1306: 139900595279688:error:0D07803A:asn1エンコードルーチン:ASN1_ITEM_EX_D2I :ネストされたasn1エラー: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] $
OSと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:printing-4.0-noarch ディストリビューターID:Scientific 説明: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証明書はパスフレーズでエクスポートできます)
私が使用した特定のパスフレーズについての何か...問題の原因は正確にはわかりませんが、長さまたは使用された記号である可能性があります。
最終結果は、私が期待したものとは異なる/短縮されたパスフレーズを持つキーを持っていたということです。
それが誰かを助けることを願っています...