IIS의 웹 사이트에 https를 설치하려면 .pfx 파일이 필요합니다.
인증서 (.cer 또는 pem)와 개인 키 (.crt)라는 두 개의 별도 파일이 있지만 IIS는 .pfx 파일 만 허용합니다.
인증서를 분명히 설치했으며 인증서 관리자 (mmc)에서 사용할 수 있지만 인증서 내보내기 마법사를 선택하면 PFX 형식을 선택할 수 없습니다 (회색으로 표시됨)
프로그래밍 방식으로 수행하는 도구 또는 C # 예제가 있습니까?
IIS의 웹 사이트에 https를 설치하려면 .pfx 파일이 필요합니다.
인증서 (.cer 또는 pem)와 개인 키 (.crt)라는 두 개의 별도 파일이 있지만 IIS는 .pfx 파일 만 허용합니다.
인증서를 분명히 설치했으며 인증서 관리자 (mmc)에서 사용할 수 있지만 인증서 내보내기 마법사를 선택하면 PFX 형식을 선택할 수 없습니다 (회색으로 표시됨)
프로그래밍 방식으로 수행하는 도구 또는 C # 예제가 있습니까?
답변:
openssl을 사용해야합니다.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
키 파일은 개인 키가 들어있는 텍스트 파일입니다.
루트 CA 및 중간 인증서가있는 경우 여러 -in
매개 변수를 사용하여 포함합니다
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
openssl을 여기에서 설치할 수 있습니다 : openssl
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
로 보호하라는 메시지를 표시하기 전에 지정 해야했습니다 .pfx
. 이 파일 .key
이 추가 -in
파일 과 일치하지 않아서 "인증서와 일치하는 인증서 없음"오류 메시지가 표시 되었기 때문일 수 있습니다 .
Microsoft Pvk2Pfx 명령 줄 유틸리티에 필요한 기능이있는 것 같습니다.
Pvk2Pfx (Pvk2Pfx.exe)는 .spc, .cer 및 .pvk 파일에 포함 된 공개 키 및 개인 키 정보를 개인 정보 교환 (.pfx) 파일로 복사하는 명령 줄 도구입니다.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
참고 : C # 솔루션이 필요 / 원하는 경우, http://www.bouncycastle.org/ api를 사용하는 것이 좋습니다.
Windows GUI를 찾고 있다면 DigiCert를 확인하십시오. 방금 이것을 사용했으며 상당히 간단했습니다.
SSL 탭에서 먼저 인증서를 가져 왔습니다. 그런 다음 인증서를 선택하면 키 파일 유무에 관계없이 PFX로 내보낼 수있었습니다.
DigiCertUtil.exe
실행 파일 의 루트 디렉토리에 개인 키를 포함시키는 것을 잊지 마십시오 . 가장 쉬운 방법은 인증서를 인증서 폴더에 복사하는 것입니다.
openssl이나 makecert 또는 그 어떤 것도 필요하지 않습니다. 또한 CA에서 제공 한 개인 키가 필요하지 않습니다. CA가 제공 한 키 및 cer 파일을 사용할 수있을 것으로 기대하지만 "IIS 방식"을 기반으로하지 않는 것이 문제라는 것을 거의 보증 할 수 있습니다. 나는 여기서 나쁘고 어려운 정보를 보는 것에 질려서 주제와 솔루션을 블로그로 만들기로 결정했습니다. 무슨 일이 일어나고 있는지 알고 그것이 얼마나 쉬운 지 알면 나를 안아주고 싶을 것입니다 :)
PFX가 한 번인 IIS의 SSL 인증서-SSL 및 IIS 설명-http: //rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html
IIS "서버 인증서"UI를 사용하여 "인증서 요청 생성"(이 요청의 세부 사항은이 기사의 범위를 벗어나지 만 해당 세부 사항은 중요 함) 그러면 IIS 용으로 준비된 CSR이 제공됩니다. 그런 다음 해당 CSR을 CA에 제공하고 인증서를 요청하십시오. 그런 다음 그들이 제공 한 CER / CRT 파일을 가져 와서 요청을 생성 한 동일한 위치에서 IIS "인증서 요청 완료"로 돌아갑니다. .CER을 요청할 수 있으며 .CRT가있을 수 있습니다. 그들은 같은 것입니다. 확장명을 변경하거나을 사용하십시오 .확장 드롭 다운 메뉴에서 .CRT를 선택하십시오. 이제 올바른 "친숙한 이름"(* .yourdomain.com, yourdomain.com, foo.yourdomain.com 등)을 입력하십시오. 이것은 중요합니다! 이것은 반드시 CSR을 설정 한 것과 CA가 제공 한 것과 일치해야합니다. 와일드 카드를 요청한 경우 CA에서 와일드 카드를 승인하고 생성해야하며 동일한 와일드 카드를 사용해야합니다. foo.yourdomain.com에 대한 CSR이 생성 된 경우이 단계에서 CSR을 동일하게 제공해야합니다.
.key 및 .pem 파일에서 .pfx 파일을 만들었습니다.
이렇게 openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
-export
스위치 가 필요하지 않았다 .
https://msdn.microsoft.com/en-us/library/ff699202.aspx
((기사의 관련 인용문은 다음과 같습니다))
다음으로 배포에 서명하는 데 사용할 .pfx 파일을 만들어야합니다. 명령 프롬프트 창을 열고 다음 명령을 입력하십시오.
PVK2PFX –pvk yourprivatekeyfile.pvk –spc yourcertfile.cer –pfx yourpfxfile.pfx –po yourpfxpassword
어디:
- pvk-yourprivatekeyfile.pvk는 4 단계에서 만든 개인 키 파일입니다.
- spc-yourcertfile.cer는 4 단계에서 만든 인증서 파일입니다.
- pfx-yourpfxfile.pfx는 만들 .pfx 파일의 이름입니다.
- po-yourpfxpassword는 .pfx 파일에 할당하려는 비밀번호입니다. Visual Studio에서 프로젝트에 .pfx 파일을 처음 추가 할 때이 암호를 입력하라는 메시지가 표시됩니다.
(선택적으로 (OP가 아니라 향후 독자를 위해) .cer 및 .pvk 파일을 처음부터 새로 만들 수 있습니다) (위에서 수행하기 전에 수행). mm / dd / yyyy는 시작 및 종료 날짜의 자리 표시 자입니다. 전체 설명서는 msdn 기사를 참조하십시오.
makecert -sv yourprivatekeyfile.pvk -n "CN=My Certificate Name" yourcertfile.cer -b mm/dd/yyyy -e mm/dd/yyyy -r
makecert 도구를 사용해야합니다.
관리자 권한으로 명령 프롬프트를 열고 다음을 입력하십시오.
makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"
여기서 <CertifcateName>
= 만들 인증서의 이름입니다.
그런 다음 시작 메뉴에서 certmgr.msc를 입력하여 관리 콘솔에 대한 인증서 관리자 스냅인을 열고 개인> 인증서를 클릭하면 인증서를 사용할 수 있습니다.
여기 기사가 있습니다.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
귀하의 요구 사항과 관련이 있습니다. OpenSSL을 사용하여 CRT 및 KEY 파일을 PFX로 결합
위 링크에서 추출한 내용 :
먼저 기존 .crt 파일에서 루트 CA 인증서를 추출해야합니다. 나중에 필요하기 때문입니다. .crt를 열고 인증 경로 탭을 클릭하십시오.
최상위 인증서 (이 경우 VeriSign)를 클릭하고 인증서보기를 누르십시오. 세부 사항 탭을 선택하고 파일로 복사…를 누르십시오.
Base-64로 인코딩 된 X.509 (.CER) 인증서를 선택하십시오. rootca.cer 또는 이와 유사한 것으로 저장하십시오. 다른 파일과 같은 폴더에 저장하십시오.
rootca.cer에서 rootca.crt로 이름 바꾸기 이제 PFX 파일을 만들 수있는 폴더에 3 개의 파일이 있어야합니다.
여기에 OpenSSL이 필요합니다. 우리 중 하나를 수행 할 수 있습니다 다운로드 및 Windows에 설치 하거나, OSX에 단순히 개방 터미널.
편집하다:
인증서 설치 방법에 대한 단계별 정보 가 포함 된 지원 링크가 있습니다.
성공적으로 설치 한 후 인증서를 내보내고 .pfx
형식을 선택하고 개인 키 포함을 선택하십시오 .
중요 참고 : 인증서를 .pfx 형식으로 내보내려면 인증서를 요청한 동일한 컴퓨터에서 단계를 수행해야합니다 .
가져온 파일을 서버에 업로드 할 수 있습니다.
이것은 * .cer를 * .pfx 파일로 변환하는 가장 쉬운 방법입니다 :
DigiCert에서 휴대용 인증서 변환기를 다운로드하십시오. https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
그것을 실행하고 파일을 선택하고 * .pfx를 얻으십시오 !!
MMC에서 인증서를 사용할 수 있다고 말하면 "현재 사용자"또는 "로컬 컴퓨터"에서 인증서를 사용할 수 있습니까? 개인 키가 로컬 컴퓨터 아래에있는 경우에만 개인 키를 내보낼 수 있음을 발견했습니다.
인증서 스냅인을 MMC에 추가하고 인증서를 관리 할 계정을 선택할 수 있습니다. 로컬 컴퓨터를 선택하십시오. 인증서가 없으면 저장소를 마우스 오른쪽 단추로 클릭하고 모든 작업> 가져 오기를 선택하여 가져 오십시오.
이제 로컬 컴퓨터 버전의 인증서 스냅인에서 가져온 인증서로 이동하십시오. 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업> 내보내기를 선택하십시오. 내보내기 마법사의 두 번째 페이지는 개인 키를 내보낼 것인지 묻습니다. 예를 선택하십시오. PFX 옵션은 사용 가능한 유일한 옵션입니다 (아니요를 선택하고 개인 키를 내보내는 옵션을 현재 사용자 계정에서 사용할 수없는 경우 회색으로 표시됨).
PFX 파일의 암호를 설정 한 다음 인증서 이름을 설정하라는 메시지가 표시됩니다.
@rainabba와 같이 IIS를 사용하여 새로운 CSR을 생성하는 것이 가장 쉬운 방법이지만 중간 인증서가 있다고 가정하면 온라인 변환기가 있습니다 (예 : https://www.sslshopper.com/ssl-converter). html
이를 통해 다른 프로그램을 설치하지 않고도 인증서와 개인 키에서 PFX를 만들 수 있습니다.
대부분의 경우 인증서를 PFX (개인 키 포함)로 내보낼 수없는 경우 MMC / IIS가 개인 키 (CSR 생성에 사용)를 찾을 수 없거나 액세스 할 수 없기 때문입니다. 이 문제를 해결하기 위해 수행 한 단계는 다음과 같습니다.
도움이 되었기를 바랍니다!
나는 몇 가지 사용자가 이것과 그 설치 및 명령 줄 프로그램 추가 및 다운로드에 대해 이야기했다고 알고 있습니다 ...
개인적으로 게으르고 모든 방법이 번거롭고 느리다는 것을 알았습니다. 필요하지 않은 경우 아무것도 다운로드하지 않고 올바른 cmd 줄을 찾고 싶지 않습니다.
개인 IIS 서버에서 가장 좋은 방법은 RapidSSLOnline을 사용하는 것입니다. 서버에있는 도구로 인증서와 개인 키를 업로드 할 수 있으며 IIS로 직접 가져올 수있는 pfx 파일을 생성 할 수 있습니다.
링크는 다음과 같습니다 : https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
요청 된 시나리오에 사용되는 단계는 다음과 같습니다.
- 현재 유형 선택 = PEM
- = PFX 변경
- 인증서 업로드
- 개인 키 업로드
- ROOT CA 인증서 또는 중간 인증서가 있으면 업로드하십시오.
- IIS에서 사용되는 비밀번호를 설정하십시오.
- 봇이 아님을 증명하려면 reCaptcha를 클릭하십시오.
- 변환을 클릭하십시오
PFX를 다운로드하여 IIS의 가져 오기 프로세스에서 사용해야합니다.
희망이 있고 게으른 기술 사람들과 같은 다른 사람들을 돕기를 바랍니다.
SSLForFree의 cfx 파일의 경우 https://decoder.link/converter가 가장 쉽습니다.
PEM-> PKCS # 12가 선택되었는지 확인한 다음 인증서, ca_bundle 및 키 파일을 업로드하고 변환하십시오. 비밀번호를 기억 한 다음 사용한 비밀번호로 업로드하고 바인딩을 추가하십시오.