.pfx를 .cer로 변환


155

.pfx (개인 정보 교환) 파일을 .cer (보안 인증서) 파일로 변환 할 수 있습니까? 내가 실수하지 않으면 .cer이 어떻게 .pfx에 포함되어 있지 않습니까? 가능한 경우 추출하는 방법이 필요합니다.

답변:


90

내가 생각하는 간단한 방법은 Windows Management Console의 인증서 관리자를 사용하여 가져 와서 내보내는 것입니다.


5
나는 이것을 시도했지만 개인 키 내보내기를 선택하면 .cer (DER encode) 옵션이 비활성화됩니다. 그리고 midletsigner 유틸리티는 어쨌든 provatekey가 필요합니다.
Jigar Joshi

3
상자를 가져올 때 "이 키를 내보낼 수있는 것으로 표시"라고 표시해야합니다.
Andrew Cox

11
Windows에서 인증서 관리자를 얻는 방법 : msdn.microsoft.com/en-us/library/ms788967.aspx
James White

12
Windows 인증서 관리자를 여는 가장 쉬운 방법은 명령 프롬프트에서 "certmgr.msc"를 입력하는 것입니다.
Jan Derk

@AndrewCox, 그러나 내보내기 가능으로 표시하는 것과 표시하지 않는 것 사이에는 배후의 차이가 있습니다. 아니면 단순히 UI 옵션입니까?
Pacerier

212

PFX 파일은 PKCS # 12 개인 정보 교환 구문 표준 번들입니다. 여기에는 X.509 인증서와 함께 제공되는 임의의 수의 개인 키와 인증 기관 체인 (인증서 세트)이 포함될 수 있습니다.

클라이언트 인증서를 추출하려는 경우 OpenSSL의 PKCS12 도구를 사용할 수 있습니다 .

openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts

위 명령은 인증서를 PEM 형식으로 출력합니다. ".crt"파일 확장자는 macOS와 Window에서 모두 처리됩니다.

DER 인코딩 파일에 일반적으로 사용되는 질문에 ".cer"확장자를 언급했습니다. 이진 인코딩. ".crt"파일을 먼저 시험해보고 승인되지 않으면 PEM에서 DER로 쉽게 변환하십시오.

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer

9
명령을 제공하는 것 외에 파일이 무엇인지 설명하는 +1
Joshua Drake

"Mac 확인 오류 : 유효하지 않은 암호?" 내가 그것을 시도했을 때. 암호를 모르고 공급 업체가 제공 한 파일 만 있습니다.
Brian Knoblauch

1
당신은 그것의 개인 키와 인증서를 변환 attemtping있다 "-nokeys"작품 떨어지는 것 같아, 피들러 사용하기 위해 말
버그 서재 거트 반

OpenSSL 외에도 @Berk는 Windows cmd가 할 수있는 방법이 있습니까?
Pacerier

45

PowerShell에서 작업하는 경우 pfx 파일 InputBundle.pfx가 지정된 다음과 같은 것을 사용 하여 DER 인코딩 (이진) 인증서 파일 OutputCert.der 를 생성 할 수 있습니다 .

Get-PfxCertificate -FilePath InputBundle.pfx | 
Export-Certificate -FilePath OutputCert.der -Type CERT

명확성을 위해 줄 바꿈이 추가되었지만 물론이 모든 것을 한 줄에 가질 수 있습니다.

ASCII / Base64로 인코딩 된 PEM 형식의 인증서가 필요한 경우 /superuser/351548/windows-integrated-utility-to-convert 와 같이 다른 곳에서 설명한대로 추가 단계를 수행 할 수 있습니다. 데르 투팜

DER로 인코딩 된 형식과 다른 형식으로 내 보내야하는 -Type경우 Export-Certificate 의 매개 변수를 다음과 같이 .NET에서 지원되는 형식을 사용하도록 변경할 수 있습니다 help Export-Certificate -Detailed.

-Type <CertType>
    Specifies the type of output file for the certificate export as follows. 
     -- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates. 
     -- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate. 
     -- P7B: A PKCS#7 file format which can contain one or more certificates.

Export-Certificate는 Win 8.1 및 Server 2012 R2와 같은 일부 버전에서만 사용할 수 있습니다. Win 7과 같은 다른 버전이라면 운이 없습니다!
Deep-B

1
서버 2012 및 Windows 8.0 ( technet.microsoft.com/en-us/library/hh848628(v=wps.620).aspx ) 에 있어야 하지만 Windows 7 등에 대해서는 좋은 점이 있습니다!
이안 갤러거

@IanGallagher, 이것이 OpenSSL의 옵션과 어떻게 비교됩니까?
Pacerier

OpenSSL을 설치하지 않으려는 경우 더 편리합니다!
Leonardo Herrera

25

가장 간단한 방법을 추가하고 싶었습니다.

  1. pfx 파일을 마우스 오른쪽 버튼으로 클릭하고 "설치"를 클릭 한 다음 마법사를 따라 상점에 추가하십시오 (개인 저장소에 추가).

  2. 시작 메뉴에서 certmgr.msc를 입력하고 CertManager 프로그램으로 이동하십시오.

  3. pfx 인증서를 찾으십시오 (위의 탭은 다양한 상점 임). 내보내기 단추를 클릭하고 마법사를 따르십시오 (.CER로 내보내는 옵션이 있음)

기본적으로 Andrew의 답변과 동일하지만 Windows 관리 콘솔을 사용하지 않습니다 (가져 오기 / 내보내기로 바로 이동).


certmgr.msc를 열어서 내
보내야

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