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.