Godaddy에서 발급 한 인증서 사용시 "공개 키 인증서와 개인 키가 일치하지 않습니다."[닫기]


86

Amazon AWS에서 설정중인 새로드 밸런서에 GoDaddy SSL 인증서를 설치하려고합니다. 원래 Glassfish 3.1 서버 (Amazon linux ami)에 직접 설치하기 위해 keytool 프로그램을 사용하여 Godaddy에서 인증서를 만들었습니다. 서버에서 직접 설정하는 데 문제가 없었습니다. 이제 웹 서버에서 새로드 밸런서로 인증서를 이동해야합니다. Amazon에서는 개인 키와 인증서가 PEM 형식이어야하므로 GoDaddy에서 "rekey"도구를 사용하여 새 인증서를 만들었습니다. AWS Mgmt 콘솔의로드 밸런서 설정 화면에서이를로드 할 때 "공개 키 인증서와 개인 키가 일치하지 않습니다."라는 오류 메시지가 표시됩니다.

키를 만드는 방법은 다음과 같습니다.

$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr

그런 다음 "rekey"프로세스 중에 .csr 파일을 GoDaddy에 제출합니다. 재키가 완료되면 새로 생성 된 2 개의 인증서 (apps.mydomain.com.crt 및 gd_bundle.crt)를 다운로드합니다. 서버 유형으로 (Apache)를 선택하여 다운로드합니다 ( "other"와 "Cpanel"도 시도했지만 모두 동일하게 보입니다).

이 시점에서 다음 명령을 사용하여 private.key 파일에서 암호화를 제거합니다.

$ openssl rsa -in private.key -out private.pem

이 시점에서 AWS Mgmt 콘솔로 돌아가서로드 밸런서를 생성하고, 보안 서버 리디렉션을 추가하고, SSL 인증서 설정을 요청하는 화면의 각 필드에 다음 파일의 내용을 입력합니다.

private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain

"계속 단추"를 클릭하면 "오류 : 공개 키 인증서와 개인 키가 일치하지 않습니다."라는 오류가 표시됩니다.

-Amazon에서 유효한 오류 메시지를 받고 있는지 테스트 할 수있는 방법이 있습니까? GoDaddy의 지침을 매우 밀접하게 따를 때 키가 일치하지 않는 것이 이상하게 보입니다.

.csr을 만들기 전에 RSA 암호화없이 private.key 파일을 만들려고했지만 아무런 차이가없는 것 같습니다.

또한 GoDaddy에서 다운로드하는 .crt 파일이 .PEM 형식이라고 가정하고 있지만이를 확인하는 방법을 모르겠습니다.

어떤 아이디어?


1
Stack Overflow는 프로그래밍 및 개발 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제에서 벗어난 것처럼 보입니다. 도움말 센터에서 내가 질문 할 수있는 항목을 참조 하세요 . 아마도 수퍼 유저 가 더 좋은 질문 일 것입니다. Dev Ops에 대한 질문을 어디에 게시합니까? 도 참조하십시오 . .
jww

이 게시물은 3 년이 넘었는데 지금 이동해야하는 이유는 무엇입니까?
Felby

1
Felby-사람들은 종종 "...하지만이 게시물과 해당 게시물을 참조하십시오"라고 말합니다. 따라서 새 게시물을 깔끔하게 유지하기에는 충분하지 않습니다. 최소한 오래된 게시물에도 메시지를 받아야합니다. 그리고 그 가치가 무엇인지, 나는 그것이 나쁜 질문이라고 생각하지 않습니다. Stack Overflow에 대한 약간의 주제를 벗어났습니다.
jww

@Felby 당신은 수락을 위해이 대답 을 고려해야 합니다 . 이 문제가 AWS에서 발생할 때 대부분의 개발자가 찾고있는 것입니다.
Noel Baron

답변:


61

저에게는 쉬운 두 단계였습니다.

  1. 개인 키를 PEM으로 변환합니다.

    openssl rsa -in yourdomain.key -outform PEM

  2. 인증서 및 인증서 번들을 PEM으로 변환합니다 .

    openssl x509 -inform PEM -in yourdomain.crt

    openssl x509 -inform PEM -in bundle.crt


1
이 특정 답변이 정말 도움이되었습니다. 감사합니다 조나단. 기록을 위해, yourdomain.crt는 공개 키, 당신은 당신의 공급자로부터 도착하는 인증서 (A .CER 될 수도)입니다
user_v

계속 오류가 발생합니다WARNING: can't open config file: /etc/pki/tls/openssl.cnf
tq

2
@tq-일부 OpenSSL 명령 -config도 옵션을 사용합니다. 사용중인 구성 파일의 경로를 지정하는 데 사용하십시오.
jww

@felby이 질문을 수락 된 답변으로 표시해야합니다. 이것은 iOS 장치에서 SSL 신뢰 문제를 일으키지 않는 유일한 대답입니다.
Noel Baron

이 답변은 와일드 카드 SSL에 정말 유용합니다. domain.crt 및 gd_bundle.crt 파일을 모두 변환해야합니다.
Ducle

40

기록과 그것을 알아 내려는 다른 사람을 위해서 :

yourdomain.key-> 터미널 명령 : sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem -> 개인 키

yourdomain.crt-> 공개 키

gd_bundle.crt-> 인증서 체인

그리고 당신은 갈 수 있습니다 :)


2
OMG, 나는 문제로 너무 많은 시간을 잃었습니다. 당신은 나를 구했습니다! 저는 RapidSSL 인증서를 구입했습니다. 트릭은 1) 여기에서 제안한대로 개인 키를 변환하고 2) RapidSSL에서 제공하는 인증서 체인의 인증서 순서를 반대로하는 것이 었습니다. 감사!
MiniQuark

암호 나 한테 물어 유지하지만 내의 RapidSSL 인증서 하나없이 만들어졌다
TQ

sudo 명령은 몇 가지 다른 방법을 통해 암호를 요구하지 않도록 계정을 설정하지 않은 경우 관리자 암호를 묻습니다. 그게 당신이 말하는 비밀번호인가요?
Chris J

필요한 사람이 찾을 수있는 위치에 무언가를 추가하기 위해 클라이언트로부터 Host Gator 인증서를 받았는데, pem 변환이없고 CA 번들이 이미 함께 연결되어있는 것처럼 상당히 멋지게 설정된 것처럼 보였습니다. 그러나 아마존에 들어가지는 않을 것입니다. 번들의 인증서 순서도 마찬가지입니다. 주문을 뒤집어 들어가서 작동했습니다.
CargoMeister 2015 년

23

문제는 키와 인증서의 내용을 AWS Management 콘솔에 복사하는 방식 인 것 같습니다. Windows 7 데스크톱의 Virtual Box에서 실행되는 Ubuntu 데스크톱을 사용하고있었습니다. gedit 화면의 값을 Windows 상자에서 실행중인 브라우저에 복사하여 붙여 넣습니다. 웹 브라우저 (이 경우 Windows)와 같은 상자에서 키와 인증서 파일을 열면 인증서가 제대로 처리되었습니다. Virtual Box 클라이언트와 호스트간에 공유 된 클립 보드를 사용할 때 파일의 일부가 제대로 처리되지 않는 것 같습니다. 경우 폐쇄.


사람들이이 문제가 해결되었음을 알 수 있도록 답변을 수락 할 수 있습니까?
Phil Sturgeon

2
홀수, 나는 이미 오래 전에 그 ... 가능했다고 생각
Felby

7

이 문제에 대한 대체 해결책을 찾았습니다. 같은 오류로 같은 증상이 나타났습니다.

그런 다음 pem 코드를 한 번 더 입력하려고 시도했지만 이번에는 Enter 키를 한 번 누르고 커서가 각 창 끝에있는 빈 줄에 있는지 확인했습니다. 그런 다음 저장했습니다. 작동했습니다.

이것은 우리의 문제를 해결 했으므로 다른 사람들을 위해 해결할 수 있습니다.


1

작은 문제 하나. Windows 상자 (Win 7 Pro)를 사용하고 있으며 OpenSSL의 Windows 포트를 사용했을 때 출력 된 파일에 Unix 스타일의 줄 끝 문자 (LF)가 있습니다.

개인 키 업로드를 위해 파일을 Windows 스타일 (CRLF)로 변환해야했습니다.


0

대체 솔루션과 정보를 제안 할 수 있습니다. 일반적으로 모든 인증서는 PEM 파일 형식입니다. 메모장이나 텍스트 편집기를 열고 .crt 파일 형식으로받은 파일을 드래그하기 만하면됩니다. 일반적으로 .PEM 파일이라고합니다. 인증서가 keytool에로드 된 경우 keytool에서 인증서를 pfx 파일로 내보낼 수 있습니다. 그런 다음 pfx 파일에서 개인 키에서 pfx 파일을 분리 할 수 ​​있습니다. pfx 파일은 인증서와 프라이빗 키의 조합이기 때문에 프라이빗 키 파일을 별도로 가져 와서 Amazon AWS에서 사용할 수 있습니다.

인증서를 설치하는 다른 방법이있을 수 있습니다. 인증 기관에 연락하여 인증서를 재발급받을 수있는 방법이있을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.