CRT 인증서를 PEM 파일로 안전하게 변환하는 법을 정리했습니다. OpenSSL 명령어, 윈도우·리눅스 환경별 변환 방법, 실전 예시까지 한눈에 확인하세요.
👋 소개
웹사이트 SSL 인증서를 다루다 보면 CRT 파일을 PEM 형식으로 변환해야 하는 상황이 종종 발생합니다.
특히 Nginx, Apache, AWS, 클라우드 서버에서 SSL 설정 시 PEM 파일이 필요할 때가 많죠.
이 글에서는 CRT → PEM 변환 방법, OpenSSL 명령어 사용법, 윈도우와 리눅스 환경에서의 적용 사례를 자세히 정리했습니다.
🛠 본문
CRT와 PEM 파일의 차이점
- CRT 파일: 주로 인증서 본문(공개키 포함)을 DER 또는 PEM 인코딩으로 저장.
- PEM 파일: Base64 인코딩 텍스트 형식, —–BEGIN CERTIFICATE—– 로 시작.
- 서버 설정 시 PEM은 인증서 + 프라이빗 키 + 체인을 포함할 수 있어 범용성이 높습니다.
CRT 파일을 PEM으로 변환해야 하는 이유
- 웹 서버 호환성: Nginx는 PEM 형식만 인식.
- 클라우드 서비스 연동: AWS ELB, GCP, Azure에서 PEM 요구.
- 보안 관리 편의성: 텍스트 기반이라 키 조합 관리 용이.
OpenSSL을 활용한 변환 방법 (리눅스/맥OS)
기본 변환 명령어
openssl x509 -in your_cert.crt -out your_cert.pem -outform PEM
- -in: 입력할 CRT 파일
- -out: 변환된 PEM 파일 경로
- -outform PEM: PEM 포맷으로 출력
프라이빗 키와 함께 PEM으로 묶기
cat your_cert.crt your_private.key > fullchain.pem
- fullchain.pem은 인증서 + 개인키를 포함해 서버 설정 시 바로 사용 가능.
윈도우에서 CRT → PEM 변환하기
- OpenSSL for Windows 설치
OpenSSL 공식 다운로드 페이지 - 설치 후 cmd에서 다음 명령 실행:
- openssl x509 -in C:\certs\your_cert.crt -out C:\certs\your_cert.pem -outform PEM
- Notepad++로 열어 변환 여부 확인 (BEGIN CERTIFICATE 문자열 확인).
CRT → PEM 변환 시 자주 묻는 질문 (FAQ)
Q1. 키 파일(.key)도 꼭 PEM으로 변환해야 하나요?
- 개인키는 대부분 PEM 형식이므로 별도 변환 필요 없음. 단, pkcs12(.pfx) → PEM 변환 시 openssl pkcs12 명령어 사용.
Q2. 브라우저에서 받은 CRT 파일을 바로 사용할 수 있나요?
- 대부분 서버에 바로 사용 가능하지만, 체인 인증서가 필요한 경우 PEM 포맷으로 통합하는 것이 안전합니다.
실무에서 유용한 팁
- 인증서 변환 후 권한 설정(chmod 600)을 꼭 확인.
- Nginx 설정 예시:
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/your_private.key;
- SSL 테스트: SSL Labs 테스트 도구
✅ 표로 정리: 변환 명령어 요약
| 목적 | 명령어 예시 |
| CRT → PEM 변환 | openssl x509 -in cert.crt -out cert.pem -outform PEM |
| CRT + Key 병합 | cat cert.crt private.key > fullchain.pem |
| .pfx → PEM 변환 | openssl pkcs12 -in cert.pfx -out cert.pem -nodes |
🎯 결론
CRT 파일을 PEM 파일로 변환하는 작업은 OpenSSL 명령어 몇 줄로 쉽게 해결할 수 있습니다.
특히 Nginx, Apache, AWS 환경에서 PEM 파일은 필수이므로 미리 변환 방법을 익혀두면 서버 관리가 훨씬 편해집니다.