본문으로 바로가기

인증서 형식 변환하기(PEM, DER, CRT, KEY)

category Helloworld! 2013. 1. 25. 15:21


xampp 3.1.0으로 업뎃 후 https도 들어가지도록 환경을 바꾸기위해

주임님께 회사 https 인증서를 받았지만, 주임님한테 받은 확장자는 windows에서 돌아가지 않았다.

세개의 인증서를 확장자 pem으로 받았는데 두개는 crt로 하나는 key로 확장자를 변환해야했다.


( 참고로, 인증서는 xampp/apache/conf/extra/httpd-ssl.conf에서 수정하면된다.

여기서 설정하는 방법에 대한 설명도 있다. 

인증서는 SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile를 검색해보면 설명되있으며 보면 알수있듯이

SSLCertificateFile과 SSLCertificateChainFile은 확장자가 crt이고 SSLCertificateKeyFile는 확장자가 key이다)

 

그래서 변환하는 방법에 대해 알아보았다.

먼저 openssl를 통해 형식을 변환해야하는데 openssl은 xampp 설치하면 자동으로 설치되있다.

xampp\apache\bin 에서 openssl.exe를 실행한다.


1. pem을 crt로 변환

원래 없는건지... pem을 바로 crt로 변환하는 방법을 못찾겠다ㅠㅠ

그래서 검색해보고 혼자 고민해본 결과

pem을 der로 변환하고 그 der을 crt로 변환하면 될것같은 feel이 뽷

pem -> der -> crt

방법은 다음과 같다.


2. pem -> der

x509 -inform PEM -in 변환할파일명.pem -out 변환된파일명.der


3. der -> crt

x509 -inform DER -in 변환할 파일명.der -out 변환된파일명.crt


이렇게 하면 확장자 pem으로 받은 SSLCertificateFile과 SSLCertificateChainFile을 crt로 변환 성공.

마지막으로 pem으로 받은 SSLCertificateKeyFile을 key로 변환해야한다.

이건 OpenSSL로 변환하지않았다. 

아무리 찾아도 안나온다. pem에서 바로 key로 변환이 안되나보다 싶어 다른방법으로 열심히 삽질했지만 나오지 않는다.

그래서! 다른방법을 써서 변환했다.


사실 주임님이 가르쳐줬다.... 힝

PuTTY Key Generator를 사용해서 변환하라해서 재빨리 샤샥!

pem -> key로 변환할떄는 Puttygen을 사용하시라!

나는 Puttygen설치를 git설치할때 자동으로 했으므로 따로 설치방법은 모른다.

이건 각자 네이버에게 물어서 찾아야할듯...


변환하는 방법에 대해서만 설명하도록 하겠다.


1. Puttygen을 키면 상단 메뉴중에 Conversion이라고 있다.

   거기서 import key 선택한 후 내가 변환하기를 원하는 인증서를 불러온다.


2. 그리고 save public key를 선택.

저장할때 .key라고 확장자를 지정해주면 된다.


이것으로 변환에 성공.

하지만, 이렇게 완성한 인증서를 그대로 쓰면 xampp에서 계속 apache가 실행되지않는다.

에러로그를 확인해보면 Init: SSLPassPhraseDialog builtin is not supported on Win32 라고 뜬다.


( 참고 : xampp에서 에러 로그 보는 방법.

최신버젼은 다음이미지에 log버튼을 클릭하면 error.log를 볼수있도록 되어있다.


구 버젼은 xampp/apache/logs/error.log에서 확인할 수 있다. )


에러로그를 보며 열심히 검색하고 삽질한 결과.

OpenSSL에서 다시 만져줘야했다.


3.  OpenSSL에서 rsa -in 파일명.key -out 파일명.key 라고 입력하고 apache를 다시 재시작하면 끝.


뭔가 장황하게 썼지만 별거없다. 잘 변환해서 알맞게 사용하면 된다...

근데 난 왜 오전내내 시간을 다 버리고 오후까지 했을까?......


슬프당 ㅠㅠ



* 첨부파일은 간단하게 정리한것.

인증서 형식 변환하기.txt