programing

개인 키를로드 할 수 없습니다.

nasanasas 2020. 12. 5. 09:52
반응형

개인 키를로드 할 수 없습니다. (PEM 루틴 : PEM_read_bio : no start line : pem_lib.c : 648 : 예상 : ANY PRIVATE KEY)


PEM 형식의 개인 키 파일 인 .key 파일이 있습니다. 이 파일을 만들지 않았지만 어딘가에서 가져 왔습니다.

아래 명령과 같은 openssl 도구로 MD5 해시를보고 싶었습니다.

openssl rsa -in server.key -modulus -noout

그러나 이것은 아래의 오류를 생성합니다.

unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY

다음은 .key 파일의 asn1parse입니다.

openssl asn1parse -in server.key
0:d=0  hl=4 l= 603 cons: SEQUENCE
4:d=1  hl=2 l=   1 prim: INTEGER           :00
7:d=1  hl=3 l= 129 prim: INTEGER           :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1  hl=2 l=   3 prim: INTEGER           :010001
144:d=1  hl=3 l= 128 prim: INTEGER           :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1

 ...

더 시도 할 수있는 것이 있습니까?


PEM 파일의 머리글과 바닥 글을 다음과 같이 변경했습니다.

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

마지막으로 작동합니다!


Notepad ++에서 키 파일을 열고 인코딩을 확인합니다. UTF-8-BOM으로 표시되면 UTF-8로 변경하십시오. 파일을 저장하고 다시 시도하십시오.


.key 파일에 잘못된 문자가 있습니다. 다음과 같이 .key 파일을 확인할 수 있습니다.

# file server.key

"server.key : UTF-8 유니 코드 (BOM 포함) 텍스트"출력은 키 파일이 아니라 일반 텍스트임을 의미합니다. 올바른 출력은 "server.key : PEM RSA 개인 키"여야합니다.

아래 명령을 사용하여 잘못된 문자를 제거하십시오.

# tail -c +4 server.key > new_server.key

new_server.key가 정확해야합니다.

자세한 내용을 보려면 여기 를 클릭 하십시오 . 게시물에 감사드립니다.


> I have a .key file which is PEM formatted private key file.
> ...
> Here's some asn1parse of the .key file...

괜찮아 보이는 것은 PEM 인코딩 asn1parse아니라고 믿게 만듭니다.


더 시도 할 수있는 것이 있습니까?

ASN.1로 보이므로 다음을 시도하십시오.

$ openssl rsa -in server.key -inform DER -modulus -noout

-inform DER인코딩간에 전환 하려면 을 확인하세요.


.key 파일의 시작 부분에있는 공백을 제거하십시오.


CA 인증서 만들기

c:\mycert>openssl genrsa -out privateKey.pem 4096
c:\mycert>openssl req -new -x509 -nodes -days 3600 -key privateKey.pem -out caKey.pem

저는 Windows 10을 사용 중이며 Windows1252 인코딩으로 키를 저장 했으며 저에게 효과적 이었습니다. 또 다른 StackOverflow 질문에서 일부 사람들은 BOM 이있는 UTF-8로 이것을 수정했습니다 .

즉, 파일 인코딩 일 수 있습니다.


cetificate 봇을 사용하지 않는 이유

yum 설치 epel 릴리스

yum certbot-nginx 설치

인증서 얻기

certbot --nginx -d example.com -d www.example.com

참고URL : https://stackoverflow.com/questions/18460035/unable-to-load-private-key-pem-routinespem-read-biono-start-linepem-lib-c6

반응형