pfx 형식을 p12로 변환


119

나는 내 보내야 .pfx다른 응용 프로그램에서 사용하는 .P12에 (윈도우 MMC에서) 형식 인증서를. 이 작업을 수행 할 방법을 찾을 수 없습니다. 누구든지 방법을 제안 할 수 있습니까?

답변:


202

.p12그리고 .pfx모두 PKCS에게 # 12 파일입니다. 내가 뭔가를 놓치고 있습니까?

확장자 .pfx를 갖도록 내 보낸 파일의 이름을 바꾸어 보셨습니까 .p12?


9
후드 아래에서 실제로 동일한 경우 왜 두 개의 다른 파일 확장자인지 궁금합니다.
BrainSlugs83

29
두 개의 파일 확장자가있는 이유는 역사적입니다. PFX는 Microsoft 확장이고 P12는 Netscape입니다. 이제 두 형식이 동일하도록 조정되었습니다. 즉, 개발자는 .NET System.Security.Cryptography.X509Certificates 네임 스페이스를 사용하여 두 형식을 모두 사용할 수 있습니다. 자세한 내용은 여기 를 참조하십시오.
SnapShot 2014

6
PKCS # 12 파일의 파일 이름 확장자는 ".p12"또는 ".pfx"입니다. Microsoft의 "PFX"는 가장 복잡한 암호화 프로토콜 중 하나라는 비판을 받았습니다. PKCS # 12는 Microsoft "PFX"의 후속 제품입니다. PKCS # 12는 RSA Laboratories에서 발표 한 PKCS (Public-Key Cryptography Standards)라는 표준 제품군 중 하나입니다.
AKS

1
이름 바꾸기가 항상 작동하는 것은 아닙니다. 예를 들어 SoapUI를 사용하고 양방향 인증을 테스트하면 실패합니다. p12 및 pfx는 Netscape 및 IE로 거슬러 올라갑니다. 거의 동일하지만 동일한 파일은 아닙니다. 일부 응용 프로그램은 확장자와 관계없이 모두 이해하고 다른 사람은 SoapUI으로 100 % 호환 유효 P12 필요하므로
M.Hefny

10

openconnect로 .pfx 파일에 문제가 있습니다. 이름을 변경해도 문제가 해결되지 않았습니다. keytool을 사용하여 .p12로 변환했는데 작동했습니다.

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

필자의 경우 새 파일 (new.p12)의 암호는 .pfx 파일의 암호와 동일해야합니다.


2
둘 다 동일한 비밀번호를 사용하더라도 작동하지 않습니다. 오류 "키 도구 오류 : java.io.IOException 상위를 : 키 저장소 형식이 잘못되었습니다"있어요
존 스미스

5

UI로 빠르고 수동적 인 프로세스를 찾고 있다면. 저는 항상 Mozilla Firefox를 사용하여 PFX에서 P12로 변환합니다. 먼저 Firefox 브라우저로 인증서를 가져옵니다 (옵션> 개인 정보 및 보안> 인증서보기 ...> 가져 오기 ...). 설치가 끝나면 내보내기를 수행하여 인증서 관리자에서 인증서 이름을 선택한 다음 백업 ...을 클릭하고 파일 이름을 입력 한 다음 암호를 입력하여 P12 파일을 만듭니다.


4

이것은 jglouie의 응답의 연속입니다.

openssl을 사용하여 PKCS # 12 인증서를 공개 / 개인 PEM 키로 변환하는 경우 파일 이름을 바꿀 필요가 없습니다. 파일 이름이 cert.pfx라고 가정하면 다음 세 가지 명령이 공개 pem 키와 암호화 된 개인 pem 키를 만듭니다.

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

처음 두 명령은 가져 오기 암호를 묻는 메시지를 표시 할 수 있습니다. 이것은 PKCS # 12 파일과 함께 제공된 암호입니다.

세 번째 명령을 사용하면 인증서에 대한 암호화 암호를 지정할 수 있습니다. 이것은 인증서를 사용할 때 입력하는 것입니다.


첫 번째 명령은 두 번째 명령을 덮어 쓰므로 2 단계와 3 단계 만 수행하면됩니다. 참고로 독자의 경우 Des3가 개인 키의 기본 암호화입니다.
goodguys_activate

1

이 명령을 실행하여 .cert파일을 .p12다음 으로 변경 하십시오 .

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

server.key서버 키는 어디에 server.cert있고 CA 발급 인증서 또는 자체 서명 인증서 파일입니다.

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