openssl certificates ssl security devops

OpenSSL 인증서 및 키 종합 가이드

인증서 및 키 관리를 위해 OpenSSL을 마스터하세요. OpenSSL 치트 시트를 통해 자가 서명 인증서, CSR 생성, 형식 변환(PEM, DER, P12) 및 SSL 디코딩에 대해 알아봅니다.

2026-04-12

OpenSSL 인증서 및 키 종합 가이드

OpenSSL은 암호화의 맥가이버 칼(Swiss Army knife)과 같습니다. 웹사이트를 위한 새 SSL 인증서를 생성하든, 키 형식을 변환하든, 인증서 체인 문제를 디버깅하든 OpenSSL은 필수적인 도구입니다. 하지만 명령줄 인터페이스가 복잡하기로 유명합니다.

이 가이드는 첫 자가 서명 인증서 생성부터 고급 형식 변환까지 가장 일반적인 OpenSSL 작업에 대한 명확한 경로를 제공합니다.


1. 인증서 및 요청 생성

인증서를 받기 전에는 키를 생성해야 하며, 종종 CSR(인증서 서명 요청)도 생성해야 합니다.

온라인 CSR 생성기

온라인 CSR 생성기는 요청을 빠르게 만드는 방법이지만, 개인 키가 서버를 떠나지 않도록 로컬에서 생성하는 것이 더 안전합니다. CSR에는 조직에 대한 정보와 인증 기관(CA)에서 서명받고자 하는 공개 키가 포함됩니다.

자가 서명 인증서 생성기

내부 테스트나 스테이징 환경에서는 자가 서명 인증서 생성기로 충분한 경우가 많습니다. 이를 통해 공용 브라우저에서는 신뢰되지 않지만 암호화 통신에서는 기능적으로 동일한 인증서를 만들 수 있습니다.

OpenSSL 치트 시트: 키 생성

  • RSA 개인 키 생성: openssl genrsa -out private.key 2048
  • CSR 생성: openssl req -new -key private.key -out request.csr
  • 자가 서명 인증서 생성: openssl x509 -req -days 365 -in request.csr -signkey private.key -out certificate.crt

2. 형식 변환

플랫폼과 서버에 따라 서로 다른 인증서 형식이 필요할 수 있습니다.

PEM to DER 및 DER to PEM 변환기

  • PEM: 가장 일반적인 형식으로, 보통 .crt.pem 확장자를 가집니다. base64로 인코딩되어 있으며 -----BEGIN CERTIFICATE-----와 같은 텍스트를 포함합니다.
  • DER: 인증서의 이진 표현으로, Java나 특수 하드웨어에서 주로 사용됩니다.

OpenSSL 치트 시트: 변환 명령

  • PEM to DER 변환기: openssl x509 -in cert.pem -outform der -out cert.der
  • DER to PEM 변환기: openssl x509 -in cert.der -inform der -out cert.pem

PKCS#12 to PEM 변환기

Windows 및 일부 기업 시스템에서는 인증서와 개인 키를 암호로 보호된 단일 파일로 묶는 PKCS#12 (.p12 또는 .pfx) 형식을 사용합니다.

  • PKCS#12 to PEM 변환기: openssl pkcs12 -in cert.p12 -out cert.pem -nodes

3. 디버깅 및 검증

'유효하지 않은 인증서' 오류만큼 답답한 일은 없습니다. 인증서를 디코딩하고 확인하는 도구는 필수적입니다.

SSL 인증서 디코더

SSL 인증서 디코더를 사용하면 인증서 파일의 세부 정보를 사람이 읽을 수 있는 형식으로 확인할 수 있습니다.

  • 인증서 정보 보기: openssl x509 -in certificate.crt -text -noout
  • CSR 정보 보기: openssl req -in request.csr -text -noout

인증서 체인 확인기

인증서 체인 확인기는 서버가 중간 인증서를 포함한 전체 체인을 제공하고 있는지 확인합니다. 체인이 끊어지면 모바일 기기나 일부 브라우저에서 보안 경고가 표시됩니다.

  • 로컬 파일 검증: openssl verify -CAfile ca-bundle.crt certificate.crt
  • 원격 서버 확인: openssl s_client -connect google.com:4443

4. 요약

OpenSSL은 강력하지만 다루기 까다로운 도구입니다. 우리의 OpenSSL 치트 시트를 활용하고 PEM to DER 변환이나 CSR 생성과 같은 일반적인 작업을 이해함으로써 현대적인 웹 애플리케이션의 보안 인프라를 자신 있게 관리할 수 있습니다.

항상 개인 키를 안전하게 보관하고, 강력한 알고리즘(RSA 2048+ 또는 ECC 등)을 사용하며, 운영 환경에 배포하기 전에 인증서 체인을 확인하는 것을 잊지 마세요.