CSR 생성 가이드

SSL/TLS 인증서 신청에 필요한 CSR(Certificate Signing Request) OpenSSL 명령어를 자동으로 생성합니다.

OpenSSL CSR 생성 명령어

CSR 구조 설명

CSR(Certificate Signing Request)은 SSL/TLS 인증서를 발급받기 위해 인증 기관(CA)에 제출하는 요청 파일입니다. CSR에는 다음 정보가 포함됩니다:

  • CN (Common Name) - 인증서를 적용할 도메인 (예: www.example.com)
  • O (Organization) - 조직/회사명 (OV, EV 인증서에 필수)
  • OU (Organizational Unit) - 부서명 (선택 사항)
  • L (Locality) - 도시명
  • ST (State) - 시/도
  • C (Country) - ISO 3166-1 alpha-2 국가코드 (예: KR)
  • 공개 키 (Public Key) - RSA 2048/4096비트 키 쌍 중 공개 키
  • 서명 (Signature) - 개인 키로 서명된 요청 검증 데이터

SSL 인증서 종류 비교 (DV / OV / EV)

구분 DV (Domain Validation) OV (Organization Validation) EV (Extended Validation)
검증 수준 도메인 소유권만 확인 도메인 + 조직 실체 확인 도메인 + 조직 + 법적 실체 확인
발급 소요시간 수 분 ~ 수 시간 1 ~ 3일 3 ~ 7일
신뢰도 기본 높음 최고
브라우저 표시 자물쇠 아이콘 자물쇠 아이콘 자물쇠 + 조직명 표시
가격대 무료 ~ 수만원/년 수만원 ~ 수십만원/년 수십만원 ~ 수백만원/년
추천 용도 개인 블로그, 소규모 사이트 기업 웹사이트, 서비스 금융, 전자상거래, 공공기관
와일드카드 지원 가능 가능 불가
대표 CA Let's Encrypt, Comodo DigiCert, GlobalSign DigiCert, Sectigo

CSR 생성 가이드 완벽 안내

CSR(Certificate Signing Request)은 SSL/TLS 인증서를 발급받기 위해 인증 기관(CA, Certificate Authority)에 제출하는 암호화된 요청 파일입니다. 웹사이트에 HTTPS를 적용하려면 반드시 CSR을 생성하고, 이를 인증 기관에 제출하여 인증서를 발급받아야 합니다. CSR에는 도메인 정보, 조직 정보, 공개 키 등이 포함되어 있으며, 개인 키(Private Key)는 서버에 안전하게 보관됩니다.

이 도구는 OpenSSL을 사용한 CSR 생성 명령어를 자동으로 만들어 줍니다. 복잡한 OpenSSL 명령어 옵션을 외울 필요 없이, 도메인과 조직 정보만 입력하면 바로 사용 가능한 명령어가 생성됩니다. RSA 2048비트와 4096비트 키 길이를 선택할 수 있으며, SAN(Subject Alternative Name) 멀티 도메인 인증서도 지원합니다.

CSR 생성 시 주의사항

OpenSSL CSR 생성 과정 상세 설명

OpenSSL은 SSL/TLS 프로토콜과 암호화를 구현하는 오픈소스 라이브러리입니다. CSR을 생성하면 개인 키(.key)와 CSR 파일(.csr)이 동시에 만들어집니다. 개인 키는 서버에 보관하고, CSR 파일만 인증 기관에 제출합니다. 인증 기관은 CSR을 검증한 후 서명된 인증서(.crt 또는 .pem)를 발급해 줍니다. 이 인증서를 웹서버(Nginx, Apache 등)에 설치하면 HTTPS가 활성화됩니다.

자주 묻는 질문 (FAQ)

Q. CSR과 개인 키의 차이는 무엇인가요?

A. CSR은 인증 기관에 제출하는 공개 정보가 담긴 요청 파일이고, 개인 키는 서버에만 보관하는 비밀 키입니다. CSR 생성 시 키 쌍(공개 키 + 개인 키)이 함께 만들어지며, CSR에는 공개 키만 포함됩니다. 개인 키가 유출되면 인증서를 즉시 폐기하고 새로 발급받아야 합니다.

Q. 와일드카드 인증서란 무엇인가요?

A. 와일드카드 인증서는 *.example.com 형태로 발급되며, 해당 도메인의 모든 서브도메인(www, api, mail 등)에 적용할 수 있는 인증서입니다. 다만 2단계 서브도메인(예: sub.api.example.com)에는 적용되지 않습니다. 여러 서브도메인을 운영하는 경우 비용 효율적인 선택입니다.

Q. SAN(Subject Alternative Name) 인증서란?

A. SAN 인증서는 하나의 인증서로 여러 개의 서로 다른 도메인을 보호할 수 있는 멀티 도메인 인증서입니다. 예를 들어 example.com, api.example.com, example.net을 하나의 인증서로 적용할 수 있습니다. OpenSSL에서 SAN을 설정하려면 별도의 설정 파일(cnf)이 필요합니다.

Q. Let's Encrypt 무료 인증서를 사용해도 되나요?

A. Let's Encrypt는 DV 인증서를 무료로 발급하는 CA로, 개인 프로젝트나 소규모 웹사이트에 적합합니다. 90일마다 갱신이 필요하지만 Certbot 등의 도구로 자동 갱신을 설정할 수 있습니다. 다만 조직 검증이 필요한 OV/EV 인증서는 유료 CA를 통해 발급받아야 합니다.

Q. CSR 파일은 어디에 제출하나요?

A. CSR 파일(.csr)의 내용을 인증 기관(CA)의 인증서 신청 페이지에 붙여넣기 합니다. 국내에서는 가비아, 후이즈, KISA 등의 업체를 통해 SSL 인증서를 구매하고 CSR을 제출할 수 있습니다. 해외에는 DigiCert, Sectigo, GlobalSign 등이 대표적입니다.

Q. RSA 2048비트와 4096비트 중 어떤 것을 선택해야 하나요?

A. 대부분의 경우 RSA 2048비트면 충분한 보안을 제공합니다. 2048비트는 현재 기술로 해독이 사실상 불가능한 수준입니다. 4096비트는 더 높은 보안을 제공하지만 TLS 핸드셰이크 시 서버 CPU 부하가 약간 증가할 수 있습니다. 금융이나 정부 기관처럼 최고 수준의 보안이 요구되는 경우 4096비트를 권장합니다.