openssl을 사용하여 pfx를 pem으로 변환


109

OpenSSL을 사용하여 PFX 파일에서 .pem CA 인증서 및 클라이언트 인증서 를 생성하는 방법 .

답변:


107

OpenSSL 명령 줄 도구를 사용할 수 있습니다. 다음 명령이 트릭을 수행해야합니다.

openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts

openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts

파일을 암호로 보호하려면 추가 옵션이 있습니다.

여기 에서 전체 문서를 읽을 수 있습니다 .


191

Linux에서 수행하는 또 다른 관점은 결과 단일 파일에 암호 해독 된 개인 키가 포함되어 HAProxy와 같은 것이 암호를 묻지 않고 사용할 수 있도록하는 방법입니다.

openssl pkcs12 -in file.pfx -out file.pem -nodes

그런 다음 file.pem 파일을 사용하도록 HAProxy를 구성 할 수 있습니다.


이것은 -nodes 옵션이 단순히 개인 키 암호화를 우회한다는 것을 깨달을 때까지 이러한 여러 단계를 거친 이전 버전의 편집입니다. 하지만 가르치는 데 도움이 될 수 있으므로 여기에 남겨 두겠습니다.

openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys
openssl pkcs12 -in file.pfx -out file.withkey.pem
openssl rsa -in file.withkey.pem -out file.key
cat file.nokey.pem file.key > file.combo.pem
  1. 첫 번째 단계에서는 PFX를 열기위한 암호를 입력하라는 메시지가 표시됩니다.
  2. 두 번째 단계에서는 키에 대한 암호를 구성하기 위해 해당 플러스를 입력하라는 메시지가 표시됩니다.
  3. 세 번째 단계에서는 복호화 된 저장을 위해 방금 만든 암호를 입력하라는 메시지가 표시됩니다.
  4. 네 번째는 모든 것을 하나의 파일에 넣습니다.

그런 다음 file.combo.pem 파일을 사용하도록 HAProxy를 구성 할 수 있습니다.

키가있는 파일과 키가없는 파일을 표시하는 별도의 두 단계가 필요한 이유는 암호화 된 키와 암호 해독 된 키가 모두있는 파일이있는 경우 HAProxy와 같은 항목이 다음과 같은 경우 암호를 입력하라는 메시지를 계속 표시하기 때문입니다. 그것을 사용합니다.


나는 openssl에 친숙해지기 위해 시간을 보냈지 만 pem 변환에는 개인 키가 포함되지 않았습니다. 편집은 인증서와 키를 하나의 pem 파일로 병합하는 방법에 대한 세부 정보를 제공했습니다.
— 세전 이익

Windows 시스템 대신 고양이의 종류 사용
— hupseb

Windows에서이 OpenSSL 버전은 다음과 같은 용도로 사용하기 쉽습니다. slproweb.com/products/Win32OpenSSL.html
— Helge Klein

위의 단계는 PFX를 PEM으로 변환하는 데 효과적이었습니다. 그러나 한 가지 추가 단계를 수행해야했습니다. 텍스트 편집기에서 nokey PEM 파일을 열고 체인의 마지막 인증서를 파일 맨 위로 이동합니다. 그렇지 않으면 nginx는 인증서에 대해 불평하는 오류를 발생시키고 사용을 거부합니다.
— EugeneRomero 2017 년

이 경우 cat 명령을 다시 정렬하여 먼저 넣을 수 있습니다. 예 : cat file.key file.nokey.pem> file.combo.pem file.key 자체가 잘못된 순서로 여러 개를 포함하지 않는 한. 그러나 두 경우 모두 프로그래밍 방식으로 항목을 다시 정렬 할 수 있습니다.
— user2415376

11

다른 답변은 정확하고 철저히 설명되었지만 이해하는 데 어려움이 있습니다. 다음은 내가 사용한 방법입니다 ( 여기에서 가져옴 ).

첫 번째 경우 : PFX 파일을 인증서와 개인 키가 모두 포함 된 PEM 파일로 변환하려면 :

openssl pkcs12 -in filename.pfx -out cert.pem -nodes

두 번째 경우 : PFX 파일을 별도의 공개 및 개인 키 PEM 파일로 변환하려면 :

PFX에서 개인 키를 PEM 파일로 추출합니다.

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

인증서를 내 보냅니다 (공개 키만 포함).

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

추출 된 개인 키 (선택 사항)에서 암호 (패러 프레이즈)를 제거합니다.

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