CSR 디코더 — PKCS#10 인증서 서명 요청 확인

PEM 또는 Base64 CSR(PKCS#10)을 주체 DN, 요청된 SAN 호스트명, 공개 키 알고리즘·크기, 서명 알고리즘으로 디코딩합니다.

CSR 디코더란

PEM 또는 Base64로 인코딩된 인증서 서명 요청(CSR, PKCS#10)을 붙여넣으면 주체 distinguished name, 요청한 주체 대체 이름(SAN), 공개 키 알고리즘과 크기(RSA 또는 EC), 그리고 요청의 자체 서명에 쓰인 서명 알고리즘 등 읽을 수 있는 항목으로 해석합니다. 항목 아래 접힌 “키 원본과 서명 값”에는 공개 키 자체가 PEM으로 전용 “공개 키 복사” 버튼과 함께 들어 있고, RSA 키는 모듈러스와 공개 지수가, 그 밖의 키는 공개 키 바이트가, 그리고 서명 값이 나오며, 바이트는 openssl req -text처럼 콜론으로 구분한 hex로 적힙니다. 예시 버튼은 실제 요청 하나를 불러와 바로 디코딩하고, 지우기는 입력 칸과 결과를 함께 비웁니다. 모든 처리는 asn1js와 PKI.js(X.509 인증서 디코더와 동일한 파서)로 브라우저에서만 이뤄지며 CSR이 기기를 벗어나지 않습니다.

보내기 전에 CSR을 확인해야 하는 이유

CSR은 TLS 인증서를 요청하려고 인증기관(CA)에 제출하는 파일이며, 생성되고 나면 알아볼 수 없는 Base64입니다. 디코딩하면 인증서를 발급·배포하기 전에 커먼 네임과 모든 SAN 호스트네임의 철자가 맞는지, 키 크기가 의도한 값인지, 잘못 입력된 필드가 없는지 확인할 수 있습니다. 여기서 잘못된 호스트네임을 잡으면 나중에 비용을 들여 다시 발급받는 일을 피할 수 있습니다.

자주 묻는 질문

어떤 형식을 지원하나요?

BEGIN/END CERTIFICATE REQUEST 줄 사이의 PEM CSR을 붙여넣거나 Base64(DER) 본문만 붙여넣으세요. 개인 키가 아니라 공개 인증 요청을 읽습니다.

서명이나 요청된 확장을 검증하나요?

서명은 확인하고, 확장은 보여 주기만 합니다. 주체, SAN, 키 알고리즘·크기, 서명 알고리즘과 요청한 확장을 모두 디코딩해 보여 주고, 자체 서명은 요청에 담긴 키로 검증합니다. 인증기관(CA)에는 연결하지 않습니다.

약한 키를 경고하나요?

네. 작은 RSA·EC 키와 SHA-1·MD5 서명을 짚어 줍니다.

요청의 지문과 그 밖의 속성도 보여 주나요?

네. 디코딩할 때마다 요청의 지문 (DER 기준) 항목에 SHA-256, SHA-1 (구형), MD5 (구형) 지문을 openssl dgst -c처럼 콜론으로 구분한 대문자 hex로 보여 줍니다. 해시는 요청 자체의 DER 바이트에만 적용됩니다. 확장 요청이 아닌 속성, 예를 들어 challengePassword나 unstructuredName은 그 밖의 속성 아래에 openssl req -text가 쓰는 이름으로, 이름이 없으면 OID로 나옵니다. 지문과 속성은 복사하는 요약에도 들어갑니다.

공개 키와 서명 값 자체도 볼 수 있나요?

네. 디코딩된 항목 아래 “키 원본과 서명 값”을 펼치면 공개 키가 PEM 블록으로 나오고 전용 “공개 키 복사” 버튼이 붙으며, RSA 키는 모듈러스와 공개 지수가, EC 키는 공개 키 바이트가, 그리고 서명 값이 나옵니다. 바이트는 openssl req -text처럼 콜론으로 구분한 hex로 적혀, 요청을 개인 키나 인증서와 맞춰 볼 수 있습니다.