programing

Azure의 경우 p7b를 pfx로 변환

skycolor 2023. 5. 7. 11:19
반응형

Azure의 경우 p7b를 pfx로 변환

Azure의 엔드포인트를 설정하려고 합니다.

.p7b 파일을 받았는데 Azure용 개인키가 있는 .pfx 파일이 필요합니다.

내 .p7b를 .pfx로 변환할 수 있는 방법이 있습니까?

다음은 전체 Azure SSL 인증서 리그마롤에 대한 요약입니다.저는 GoDaddy(지식이 풍부한 기술 지원 담당자의 도움을 받아)와 함께 이 작업을 수행했습니다.Windows 8 Pro에서도 이 작업을 수행했습니다. 사용자의 경험은 약간 다르거나 주행 거리가 다를 수 있습니다;-)

CA(인증 기관)에 돈을 지불하고 SSL 인증서를 구입합니다.

CSR(인증서 서명 요청) 생성

이제 CSR을 만들어야 합니다. CSR은 CA가 인증서를 생성하도록 CA에 제공해야 하는 텍스트입니다.CSR에는 다음과 같은 몇 가지 정보가 포함되어 있습니다.

  1. 인증서와 연결된 도메인의 이름입니다.
  2. 인증서와 연결할 공용 키입니다.CA에 제공하는 CSR에는 연결된 개인 키가 없습니다.

IIS 관리자를 사용하여 PC에 로컬로 CSR을 생성합니다.참고: IIS는 Windows에 포함되어 있지만 기본적으로 설치되지 않습니다.[IIS 설치에 대한 자세한 내용은 학생을 위한 연습으로 남겨두겠습니다.아마도 친절한 사람이 이 답변을 편집하고 그 세부사항을 작성할 것입니다.]

편집: 로컬 시스템에 IIS를 설치하는 대신 Azure의 클라우드 서비스에 RDP(매우 쉬운 작업)하고 해당 시스템의 IIS를 사용하여 CSR을 생성하고 서명 요청을 완료할 수 있습니다.이 작업을 수행할 경우 전체 프로세스를 한 번에 수행해야 합니다.CSR을 생성한 다음 나중에 요청을 완료할 때까지 기다리는 경우 클라우드 서비스가 동일한 시스템에 없을 수 있으며 IIS에 "내보내기" 옵션이 없을 수 있습니다.

CSR을 생성하는 방법

  1. IIS 관리자 실행
  2. 서버 인증서 선택(두 번 클릭)
  3. 창의 오른쪽에 있는 작업 창에서 인증서 요청 생성을 클릭합니다.공용 이름은 인증서와 연결된 도메인 이름입니다.나머지 필드는 회사를 식별합니다.
  4. IIS 관리자가 암호화 서비스 공급자 및 비트 길이를 요청합니다.최소 2048비트 길이를 선택해야 합니다.
  5. IIS 관리자가 공용/개인 키 쌍을 만듭니다.공용 키는 IIS 관리자가 생성하는 CSR 텍스트 파일에 포함되어 있습니다.개인 키는 PC 어딘가에 저장되어 있습니다(개인 키 저장소에 있는 것으로 가정함).

CSR 생성 - goddy 사이트에서 자세한 단계를 참조할 수도 있습니다.상당한 도움이 되는

이제 CA의 웹 사이트로 돌아가서 구입한 인증서를 생성할 수 있는 온라인 도구를 찾습니다.먼저 CSR 텍스트를 붙여넣거나 업로드합니다.CA의 후프를 건너뛰면 CA로부터 하나 이상의 인증서 파일을 다시 받게 됩니다.

IIS에 인증서 파일 설치

GoDaddy는 당신에게 p7b 파일과 crt 파일 두 개의 파일을 제공합니다.

crt 파일에는 공용 인증서가 들어 있습니다.그러나 연결된 개인 키가 포함되어 있지 않기 때문에 웹 호스팅 공급자에게 업로드할 수 없습니다.웹 호스트는 사용자를 대신하여 종단 간 암호화를 수행하므로 공용 키뿐만 아니라 개인 키도 필요합니다.

p7b 파일에는 CA까지 인증서를 확인할 수 있는 "인증서 체인"을 구성하는 인증서가 들어 있습니다.즉, 다른 사람이 사용자의 웹 사이트를 방문하여 웹 사이트가 Acme.com 에서 운영된다고 주장하는 인증서를 받으면 이 인증서 체인을 통해 해당 사용자의 브라우저에서 사용자의 CA가 사용자의 ID를 보증하는지 확인할 수 있습니다.이 파일은 나중에 다시...

이제 공용 인증서를 개인 키와 결합하고 그 결과를 암호로 보호되는 pfk 파일에 저장해야 합니다.

CSR을 생성한 동일한 시스템의 IIS Manager로 다시 이동하고 서버 인증서 페이지로 이동한 다음 화면 오른쪽의 작업 창에서 인증서 요청 완료를 클릭합니다.

  1. 마법사에게 CA에서 받은 인증서 파일을 사용하도록 지시합니다(이 경우 crt 파일이지만 CA에서 다른 인코딩 방법을 사용한 경우 다른 파일 형식일 수 있습니다).
  2. 친숙한 이름은 도메인 이름이어야 하지만 "SSL"을 에 추가하여 구분할 수도 있습니다(예: ContososSSL)
  3. 마법사에게 개인 저장소에 키를 저장하라고 말합니다.

인증서를 IIS에 설치하려면 goddy 사이트 도움말의 이러한 자세한 단계가 도움이 될 수 있습니다.

pfx 파일 가져오기

이제 IIS 관리자의 서버 인증서 페이지에 새 인증서가 나열됩니다.해당 인증서를 선택하고 pfx 파일로 내보냅니다(화면 오른쪽의 Actions 창을 통해).

이제 https://manage.windowsazure.com (Windows Azure 관리 포털)으로 이동하여 웹 사이트 또는 클라우드 서비스를 선택한 후 pfx 파일을 Azure 인증서 저장소에 업로드할 수 있습니다.

행운을 빌어요...

편집

위의 지침에서는 Azure 웹 역할에 SSL 인증서를 설치하는 방법만 다루며, 중간 인증서(즉, "인증서 체인")는 다루지 않습니다.대부분의 브라우저에는 주요 CA에 대한 중간 인증서가 있기 때문에 대부분의 클라이언트(브라우저)에서 이 기능이 작동합니다.즉, 브라우저는 SSL 인증서를 발급한 CA까지 가져오는 방법을 알고 있습니다.그러나 일부 클라이언트에서는 웹 사이트 자체가 SSL 인증서뿐만 아니라 모든 중간 인증서도 게시해야 합니다.

이 작업을 수행하는 방법에 대한 자세한 내용은 이 SO 답변을 참조하십시오.

저는 오늘 이것에 많은 시간을 소비했고 마침내 그것을 작동시켰습니다!누군가를 시간 낭비로부터 구하기 위해 여기에 그것을 두는 것.(나는 Azure가 왜 pfx만 수락하는지 이해할 수 없고, 왜 dns 회사는 고객을 이로부터 구하기 위해 이 파일을 제공하지 않는지 이해할 수 없지만, 여기 우리가 중간에 있습니다.)

GoDaddy와 Windows 10에 대한 지침입니다.

다른 공급자와 함께 작동해야 하지만 Windows(윈도우)가 아닌 경우 Windows MMC가 필요하기 때문에 마지막 지침 집합이 작동하지 않습니다...

필수 구성 요소:

  1. 공급자와 SSL 인증서를 만들 때 개인 키를 파일(예: generated-private-key.txt)에 저장합니다.개인 키가 없으면 작동하지 않습니다!
  2. 공급자로부터 crt/pem 인증서를 다운로드합니다(GoDaddy에서 zip으로 .crt, .pem 및 .p7b의 세 개 파일을 얻습니다).당신은 정말 crt만 필요하다고 생각하지만, 지금은 아무것도 바꾸지 않습니다!나중에 pem을 생략할 수 있습니다.openSSL을 사용하여 p7b에서 이를 가져오는 방법이 있지만(설명 끝 참조), SSL 공급자로부터 받는 것이 더 낫습니다. 이는 pfx와 달리 일반적으로 제공됩니다.
  3. 열려야 합니다.여기에서 Windows용 SSL 도구를 다운로드할 수 있습니다.아마도 다른 방법이 있을 것입니다. 2022년 6월에 저에게 효과가 있었습니다.

TL;DR

열기 사용pfx로 변환할 SSL.인증서에 내보낼 수 있는 개인 키가 포함되어 있지 않기 때문에 이것만으로는 작동하지 않습니다.그래서 저는 두 번째 인증서에 키를 포함시키기 위해 certlmmmc를 사용합니다.

상세 지침

open을 사용하여 인증서를 pfx 형식으로 변환SSL

openssl pkcs12 -export -out certificate.pfx -inkey generated-private-key.txt -in goDaddy.crt -certfile goDaddy.pem

암호를 입력하라는 메시지가 표시됩니다. 암호를 공백으로 두지 마십시오.이 인증서에 개인 키가 포함되어 있지 않으므로 MMC에서 모두 다시 수행해야 합니다. 열기를 표시하는 방법이 있을 수 있습니다.SSL을 사용할 수는 있지만, 현재로서는 제게 남은 싸움이 없습니다.

Windows에서 인증서 MMC 시작(certlm)

유형certlm윈도우즈 명령으로

pfx 인증서 가져오기

특정 항목에서 개인을 마우스 오른쪽 단추로 클릭하고 메뉴에서 가져오기를 선택합니다.

마법사를 진행하여 1단계에서 생성된 pfx 파일을 선택했는지 확인합니다.키를 내보낼 수 있게 만들기를 선택하고 확장 속성을 포함하며 1단계에서 지정한 암호를 제공해야 합니다.개인 정보로 인증서를 지정합니다.

여기에 이미지 설명 입력

개인 키를 사용하여 인증서를 pfx로 내보냅니다.

3단계에서 가져온 개인 인증서를 마우스 오른쪽 단추로 클릭하고 메뉴에서 내보내기를 선택합니다.개인 키를 포함하는 옵션을 선택해야 합니다.이것은 중요합니다.이 옵션이 없으면 작동하지 않습니다.

여기에 이미지 설명 입력

마법사의 다음 단계에서 아래 이미지에 따라 옵션을 선택합니다.

여기에 이미지 설명 입력

마지막으로 트리플 DES 암호화를 선택하고 암호를 제공합니다(1단계에서 사용한 암호와 동일할 수 있음).AES 암호화에서는 작동하지 않았지만 나중에 변경될 수 있습니다.하나의 암호화가 작동하지 않으면 다른 암호화를 시도합니다.작성 당시 DES는 작동 중이었습니다(2022년 6월).

여기에 이미지 설명 입력

Azure로 가져오기

Azure Portal로 이동하여 1단계의 초기 인증서가 아닌 4단계에서 내보낸 인증서를 가져옵니다.

선택사항 공급자로부터 crt 파일을 가져오지 않은 경우 다음 명령을 사용하여 p7b 파일에서 파일을 추출할 수 있습니다.

openssl pkcs7 -print_certs -in goDaddy.p7b -out certificate.crt

더 쉬운 방법은 https://decoder.link/converter로 이동하는 것입니다.

  1. SSL 제공자가 발급한 .crt 업로드
  2. SSL 제공자에서 다운로드한 개인 키 .txt 파일을 업로드
  3. SSL 제공자가 발급한 .ca-bundle 업로드
  4. 기억할 수 있는 암호 설정
  5. 제출을 클릭하고 "성공적으로 변환됨" 메시지가 나타나면 다운로드를 클릭합니다.

이제 Azure 또는 클라우드 호스팅에 업로드할 .pfx 파일이 있습니다.

언급URL : https://stackoverflow.com/questions/6708223/convert-p7b-to-pfx-for-azure

반응형