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.