내 문제는 키에 문제가 있다는 사실에 기인한다고 생각하지만 추가 조사를 위해 파싱하지 않고 해독 할 수는 없습니다. 그러나 나는 확실하지 않다.
표준 방법을 사용하려고합니다.
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 파서에서 실패했습니다.
어떻게 든 암호화되지 않은 키 버전을 받고 다른 도구를 사용하여 무엇이 잘못되었는지 확인할 수 있습니까?
나는 뭔가 변경된 것이 있고 겉보기에 좋은 키가 파싱하지 못하는 가능한 원인을 발견했지만 모두 암호화되지 않은 버전에서 작동했습니다. 그러나 그들은 내가 키를 해독하는 것으로 보았던 유일한 방법은 위의 것입니다.
답변
방금 만든 샘플 암호 문구 보호 키에서 단일 문자를 변경하여 동일한 오류 메시지를 복제 할 수 있었으므로 개인 키가 수정되었다고 생각합니다.
다음과 같이 이것을 재현 할 수 있습니다-
- 암호 구로 보호 된 개인 키 만들기
- 개인 키를 해독하여 작동하는지 확인하십시오.
- 암호화 된 개인 키가 포함 된 파일 내에서 단일 문자를 변경하십시오.
- 지금 해독 해보십시오.
[testuser @ whitehat .ssh] $ openssl rsa -in id_rsa -out id_rsa.decrypted id_rsa의 암호를 입력하십시오 : RSA 키 작성 [testuser @ whitehat .ssh] $ ls -al id_rsa * -rw -------. 1 테스트 사용자 테스트 사용자 951 Mar 24 15:01 id_rsa -rw-rw-r--. 1 명의 테스트 사용자 테스트 사용자 887 Mar 24 15:02 id_rsa.decrypted -rw-r--r--. 1 명의 테스트 사용자 테스트 사용자 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 : 오류 : 0D07207B : asn1 인코딩 루틴 : ASN1_get_object : header too long : 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 = RSA 139900595279688 : 오류 : 04093004 : rsa 루틴 : OLD_RSA_PRIV_DECODE : RSA lib : rsa_ameth.c : 115 : 139900595279688 : 오류 : 0D07207B : asn1 인코딩 루틴 : ASN1_get_object : header too long : asn1_lib.c : 150 : 139900595279688 : 오류 : 0D068066 : asn1 인코딩 루틴 : ASN1_CHECK_TLEN : 잘못된 개체 헤더 : tasn_dec.c : 1306 : 139900595279688 : 오류 : 0D07803A : asn1 인코딩 루틴 : ASN1_ITEM_EX_D2I : nested asn1 error : 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] $
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 릴리스 6.2 (탄소) 출시 : 6.2 코드 명 : 카본 [testuser @ whitehat /] $ rpm -q openssl openssl-1.0.1e-30.el6_6.5.x86_64
답변
같은 문제로 인해 여기에 왔지만 AWS ACM 인증서 내보내기 인터페이스로 인해 발생했습니다. (비밀번호로 개인 CA 인증서를 내보낼 수 있음)
내가 사용한 특정 암호 문구에 대한 문제 … 문제의 원인을 정확히 모르지만 길이 또는 기호가 사용 된 것 같습니다.
최종 결과는 내가 예상 한 것과 다른 / 단축 암호 문구가있는 키가 있다는 것입니다.
누군가를 돕는 희망 …