CSR이란?
인증서 서명 요청(CSR, Certificate Signing Request)은 SSL/TLS 인증서를 발급받기 위해 인증 기관(CA)에 보내는 파일입니다. CSR은 서버에서 개인 키와 함께 생성합니다. CSR에는 짝이 되는 공개 키, 인증받으려는 신원(주체: 일반 이름, 조직, 위치), 그리고 주체 대체 이름(SAN)에 들어갈 도메인 이름이 담기며, 개인 키를 보유하고 있음을 증명하기 위해 그 개인 키로 서명됩니다.
개인 키는 서버 밖으로 나가서는 안 되며 어디에도 붙여 넣어서는 안 됩니다. 반면 CSR에는 공개 정보만 들어 있으므로 디코딩해도 안전합니다. 이 CSR 디코더는 CSR을 브라우저에서 직접 읽습니다.

CSR 디코딩 및 확인 방법
-----BEGIN CERTIFICATE REQUEST-----와 -----END CERTIFICATE REQUEST-----를 포함한 블록 전체를 복사해 위 입력란에 붙여 넣으세요.
필요한 모든 도메인(보통 example.com과 www.example.com 둘 다)이 주체 대체 이름에 들어 있는지, 조직 정보가 올바른지 확인하세요.
키는 RSA 2048비트 이상이거나 ECDSA P-256 또는 P-384여야 하며, 서명은 유효해야 합니다. 서명이 유효하지 않다면 CSR이 변경되었거나 손상된 것입니다.
모두 올바르다면 인증 기관의 주문 양식에 CSR을 붙여 넣으세요.
Advertisement
CSR 제출 전 확인할 사항
CSR에 실수가 있으면 인증서를 재발급해야 합니다. 먼저 다음 항목을 확인하세요.
모든 도메인 이름이 SAN에 들어 있어야 합니다. Chrome 58(2017년) 이후 브라우저는 일반 이름(CN)을 무시하므로, SAN에 없는 이름은 신뢰받지 못합니다. 많은 CA가 CN을 자동으로 추가하지만 그래도 확인하세요.
키가 충분히 강력해야 합니다. CA는 2048비트 미만의 RSA 키를 거부합니다. RSA 2048–4096비트와 ECDSA P-256/P-384가 표준적인 선택입니다.
서명에 SHA-256 이상을 사용해야 합니다. SHA-1 서명은 더 이상 허용되지 않습니다.
조직 정보가 기록과 일치해야 합니다. OV 및 EV 인증서에서는 CA가 이 정보를 검증합니다. 조직 단위(OU)는 비워 두세요. CA는 2022년부터 공개 TLS 인증서에 OU를 포함하지 않습니다.
새 키를 사용해야 합니다. 갱신할 때마다 새 개인 키와 CSR을 생성하면, 예전 키가 유출되더라도 피해를 줄일 수 있습니다.
SSL 인증서 디코딩 방법
같은 도구를 인증서 디코더로도 사용할 수 있습니다. 인증서(-----BEGIN CERTIFICATE-----)나 전체 체인을 붙여 넣으면 인증서마다 유효 여부와 남은 일수, 주체와 발급자, SAN, 키, 키 사용, 일련 번호, SHA-256 지문이 디코딩되어 표시되므로 인증서 정보 확인을 한 번에 할 수 있습니다. CA 인증서와 자체 서명 인증서에는 라벨이 붙습니다.
실제 웹사이트가 제공하는 인증서를 체인과 만료일까지 포함해 확인하려면 SSL 체커를 사용하세요. 사이트에 접속 자체가 되는지 알아보려면 사이트 접속 확인 도구를 사용해 보세요.
Advertisement
인증서가 CSR과 일치하나요?
인증서는 해당 CSR을 만들 때 사용한 개인 키와만 함께 작동합니다. 갱신 후 잘못된 키로 인증서를 설치하는 것은 서버 오류의 흔한 원인입니다. 위 입력란에 CSR과 인증서를 함께 붙여 넣으면 디코더가 두 공개 키를 비교합니다. 일치하면 그 인증서는 해당 CSR의 키로 발급된 것입니다.
서버에서는 OpenSSL로 인증서, CSR, 개인 키를 비교할 수 있습니다. 아래 세 명령은 모두 같은 해시를 출력해야 합니다.
openssl x509 -in certificate.pem -noout -pubkey | openssl sha256
openssl req -in request.csr -noout -pubkey | openssl sha256
openssl pkey -in private.key -pubout | openssl sha256OpenSSL로 CSR 생성 및 확인
OpenSSL 1.1.1 이상에서 가장 많이 쓰는 명령어입니다.
openssl req -new -newkey rsa:2048 -nodes \
-keyout example.key -out example.csr \
-subj "/CN=www.example.com" \
-addext "subjectAltName=DNS:www.example.com,DNS:example.com"openssl req -in example.csr -noout -text -verifyopenssl x509 -in certificate.pem -noout -textAdvertisement
CSR 및 인증서 필드 설명
일반 이름(CN)
www.example.com 같은 기본 도메인입니다. 호환성을 위해 유지되며, 브라우저는 SAN을 사용합니다.
주체 대체 이름(SAN)
인증서가 적용되는 모든 도메인(경우에 따라 IP 주소 포함)입니다. *.example.com 같은 와일드카드는 한 단계의 하위 도메인에 적용됩니다.
조직(O), 지역(L), 시/도(ST), 국가(C)
도메인 소유자 정보입니다. OV 및 EV 인증서는 CA가 검증하고, DV 인증서에서는 무시됩니다.
공개 키
인증서가 도메인에 연결하는 키입니다. 짝이 되는 개인 키는 서버에 남아 있습니다.
유효 기간
인증서가 유효한 시작일과 종료일입니다. 2026년 3월부터 공개 인증서의 유효 기간은 최대 200일이며, 이 한도는 2027년과 2029년에 다시 줄어듭니다.
지문(핑거프린트)
인증서 전체의 SHA-256 해시로, 인증서를 정확히 식별하는 데 쓰입니다. 예를 들어 인증서를 고정(pinning)하거나 비교할 때 사용합니다.