인증서 디코더

PEM 형식의 X.509 SSL/TLS 인증서를 디코딩합니다. 최대의 보안과 프라이버시를 위해 모든 처리는 브라우저에서 이루어집니다.

PEM 형식 지원 상세 분석 100% 클라이언트 측

인증서 디코더 사용 방법

1

인증서 붙여넣기

BEGIN/END 헤더를 포함해 PEM 인코딩 인증서를 복사해 입력란에 붙여넣으세요

2

자동 디코딩

도구가 ASN.1/DER 구조를 자동으로 파싱하여 인증서의 모든 필드를 추출합니다

3

세부 정보 확인

subject, issuer, 유효기간, SAN, 공개 키 정보, SHA-256 지문을 확인하세요

X.509란 무엇인가요?

X.509는 공개 키 인증서의 형식을 정의하는 ITU-T 표준입니다. X.509 인증서는 신원(subject)을 공개 키에 묶고 Certificate Authority(CA)가 서명합니다. HTTPS 웹사이트에 사용되는 SSL/TLS 인증서가 X.509 인증서의 가장 흔한 활용 사례입니다.

SSL/TLS 인증서

X.509 인증서는 HTTPS의 기반입니다 — 서버 신원을 검증하고 암호화 통신을 가능하게 합니다

공개 키 기반 구조

X.509는 PKI에서 신원을 암호화 키에 묶는 데 쓰이는 공개 키 인증서의 형식을 정의합니다

ASN.1/DER 인코딩

인증서는 바이너리 구조에 ASN.1 Distinguished Encoding Rules(DER)를 사용하며, 텍스트 전송을 위해 PEM Base64로 감싸져 있습니다

PEM vs DER vs CRT vs PFX — 인증서 형식

같은 X.509 인증서도 여러 파일 형식으로 저장될 수 있습니다. 어떤 것을 가졌는지 알면 시간이 절약됩니다 — 구분하는 방법:

형식 확장자 인코딩 일반적 용도
PEM .pem, .crt, .cer BEGIN/END 헤더가 있는 Base64 ASCII 웹 서버(Nginx, Apache), 대부분의 Linux 도구 — 이 도구가 디코딩하는 형식
DER .der, .cer 원시 바이너리 ASN.1 Java 키스토어, 일부 Windows·임베디드 도구
P7B / PKCS#7 .p7b, .p7c Base64 ASCII, 인증서만 포함(개인 키 없음) Windows 인증서 체인 가져오기, IIS
PFX / PKCS#12 .pfx, .p12 바이너리, 비밀번호 보호, 개인 키 포함 가능 Windows 가져오기/내보내기, IIS, 코드 서명 번들

빠른 테스트: 파일이 텍스트 편집기에서 열리고 -----BEGIN CERTIFICATE-----가 보이면 PEM입니다. 바이너리 깨진 문자처럼 보이면 DER 또는 PFX입니다.

유용한 OpenSSL 명령어

명령줄을 선호하나요? 이 OpenSSL 명령들이 이 도구가 하는 일을 그대로 합니다 — 인증서 디코딩, 날짜 확인, 지문 추출:

openssl x509 -in cert.pem -text -noout

인증서의 모든 필드를 디코딩해 표시

openssl x509 -in cert.pem -noout -dates

유효기간 날짜만 표시 (notBefore / notAfter)

openssl x509 -in cert.pem -noout -fingerprint -sha256

SHA-256 지문 출력

openssl x509 -in cert.der -inform DER -text -noout

바이너리 DER 인증서 디코딩

openssl x509 -in cert.pem -noout -subject -issuer

subject와 issuer만 표시

openssl s_client -connect example.com:443 -showcerts

라이브 서버에서 인증서 체인 가져오기

인증서 필드 참조

디코딩된 각 필드의 의미와 중요성:

Subject

인증서가 발급된 신원. 일반 구성 요소: CN(common name), O(organization), C(country).

Issuer

이 인증서에 서명한 Certificate Authority. subject와 issuer가 같으면 self-signed 인증서입니다.

일련번호

발급 CA가 부여한 고유 번호. 폐기(revocation) 상태 확인(CRL / OCSP)에 사용됩니다.

유효기간 (Not Before / Not After)

인증서가 유효한 시간 범위. 이 범위를 벗어나면 브라우저와 클라이언트가 거부합니다.

공개 키와 키 크기

신원에 묶인 공개 키. 2048비트 RSA 또는 256비트 EC가 현재 표준이며, 1024비트 RSA는 폐기되었습니다.

Subject Alternative Names (SANs)

인증서가 커버하는 호스트명과 IP 목록. 2015년부터 브라우저는 CN이 아니라 SAN을 대조합니다 — example.com 인증서에는 www.example.com이 명시적으로 나열되어야 하며, 그렇지 않으면 검증에 실패합니다.

서명 알고리즘

CA가 인증서에 서명한 방식. SHA-256 이상이 필요하며, SHA-1 서명은 최신 브라우저가 거부합니다.

지문 (SHA-256)

DER 인코딩된 인증서 전체의 해시. 피닝과 시스템 간 인증서 비교에 사용됩니다.

자주 묻는 질문

어떤 인증서 형식을 지원하나요?

이 도구는 PEM 인코딩 인증서(-----BEGIN CERTIFICATE-----)를 지원합니다. DER와 P7B 형식은 현재 지원하지 않습니다.

인증서 체인을 검증하나요?

이 도구는 인증서 세부 정보를 디코딩해 표시하지만, root CA에 대한 신뢰 체인 검증은 하지 않습니다.

certificate signing request(CSR)도 디코딩할 수 있나요?

현재는 X.509 인증서만 지원합니다. CSR 디코딩은 향후 업데이트에서 추가될 수 있습니다.

PEM, DER, CRT, PFX의 차이는 무엇인가요?

PEM은 BEGIN/END 헤더가 있는 Base64 인코딩 텍스트입니다(확장자 .pem, .crt, .cer). DER은 같은 데이터의 원시 바이너리 ASN.1 형태입니다. CRT와 CER은 단지 확장자 이름일 뿐 그 안에는 PEM 또는 DER이 들어갈 수 있습니다. PFX/PKCS#12는 개인 키를 포함할 수 있는 비밀번호 보호 바이너리 번들로, 주로 Windows에서 사용됩니다.

디코딩은 잘 되는데 브라우저가 인증서가 무효라고 하는 이유는?

디코딩과 검증은 다른 문제입니다. 인증서는 완벽하게 파싱되더라도 만료, 호스트명이 SAN 목록에 없음, 체인이 신뢰할 수 있는 root CA로 이어지지 않음, 폐기됨 등의 이유로 검증에 실패할 수 있습니다. 이 도구는 디코딩된 필드를 보여줍니다 — 먼저 유효기간 날짜와 SAN을 확인하세요.

제 SSL 인증서를 이 도구에 붙여넣어도 안전한가요?

네. SSL 인증서는 공개 정보입니다 — 사이트 방문자 누구나 받습니다. 비밀 데이터가 없습니다. 다만 개인 키는 어디에도 붙여넣지 마세요: 이 도구는 필요 없고 사용할 수도 없습니다.

인증서 체인에는 무엇이 들어가야 하고 얼마나 길어야 하나요?

서비스되는 체인에는 리프 인증서와 이를 신뢰할 수 있는 root에 연결하는 intermediate CA가 포함됩니다 — 보통 총 2-3개 인증서입니다. root 자체는 전송하면 안 됩니다: 클라이언트는 이미 trust store에 root를 갖고 있습니다. intermediate 하나가 빠진 것이 "내 브라우저에서는 되는데 모바일에서는 실패"류 TLS 오류의 가장 흔한 원인입니다. 일부 클라이언트는 intermediate를 캐시하거나 추측하고, 일부는 그러지 않기 때문입니다.

장애가 발생하기 전에 만료일과 SAN은 어떻게 확인하나요?

인증서를 디코딩해 유효기간 블록을 읽으세요: notBefore는 발급일, notAfter는 만료일입니다 — notAfter 최소 30일 전에 갱신을 계획하세요. SAN(Subject Alternative Names) 목록에는 인증서가 커버하는 모든 호스트명이 있습니다. 이 목록에 빠진 이름은 CN이 일치해도 브라우저에서 certificate-name 오류를 일으킵니다. 이 도구는 두 필드를 모두 제자리에 디코딩해 보여줍니다.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}