본문으로 건너뛰기
AZ Tools

SSL 인증서 디코더 (X.509 / PEM)

인증서는 DER로 인코딩된 구조를 base64로 감싼 것이라, 정작 사람들이 궁금해하는 두 가지 — 언제 만료되는지, 어떤 호스트 이름을 포함하는지 — 를 도구 없이는 읽을 수 없습니다. 보통은 openssl x509 -text를 쓰지만, 터미널이 있고 그 파일이 그 컴퓨터에 있어야 가능한 방법입니다. 이 디코더는 같은 일을 브라우저에서 합니다. 주체와 발급자, 자체 서명 여부, 유효 기간과 남은 일수, 일련번호, 서명·공개키 알고리즘과 키 길이 또는 곡선, SHA-256·SHA-1 지문, 그리고 중요한 확장들을 보여줍니다. 주체 대체 이름(SAN), 기본 제약, 키 용도와 확장 키 용도, 그리고 있으면 CRL·OCSP 주소까지요. 체인 전체를 붙여넣으면 각 인증서가 순서대로 디코딩됩니다. 받은 중간 인증서가 정말 그 리프를 발급했는지 확인하는 가장 빠른 방법입니다. 업로드되는 것은 없고, 파싱은 브라우저에서, 지문은 브라우저 자체 암호화 기능으로 계산합니다.

인증서만 넣으세요. 개인 키는 이 페이지를 포함해 어떤 웹 페이지에도 붙여넣으면 안 됩니다.

인증서를 붙여넣거나 파일을 끌어다 놓으면 내용이 표시됩니다.

사용법

  1. PEM 텍스트를 붙여넣거나 .pem·.crt·.cer·.der 파일을 끌어다 놓으세요.
  2. 먼저 만료 배지를 보세요. 남은 일수를 세어주거나 이미 만료됐다고 알려줍니다.
  3. 주체 대체 이름(SAN)을 확인하세요. 브라우저가 대조하는 건 CN이 아니라 이 목록입니다.
  4. 같은 인증서인지 확인해야 할 땐 지문을 비교하세요.
  5. 체인 전체를 붙여넣으면 리프와 발급자들을 함께 볼 수 있습니다.

자주 묻는 질문

인증서가 호스트 이름과 안 맞는다고 나옵니다.
브라우저는 CN이 아니라 주체 대체 이름(SAN)을 대조합니다. CN은 이 용도로는 오래전부터 무시되고 있습니다. 여기 표시된 SAN 목록에 해당 호스트가 없다면, CN에 뭐라고 적혀 있든 그 인증서는 그 호스트를 포함하지 않습니다.
지문은 어디에 쓰나요?
인코딩된 인증서 전체의 해시라서 그 인증서 하나를 특정합니다. 내가 가진 파일이 상대가 보고 있는 것과 같은지, 고정(pinning)해 둔 인증서가 바뀌지 않았는지 확인할 때 지문을 비교합니다.
이 인증서가 신뢰되는지도 알 수 있나요?
아니요. 신뢰 여부는 시스템이 이미 신뢰하는 루트까지의 체인과 폐기 여부에 달려 있고, 둘 다 붙여넣은 파일 하나로는 확인할 수 없습니다. 이 도구는 인증서가 자기 자신에 대해 말하는 내용을 보여줍니다.
자체 서명이란 무슨 뜻인가요?
주체와 발급자가 같아서 인증서가 스스로를 보증한다는 뜻입니다. 루트 CA와 로컬 개발 환경에서는 정상이며, 공개 사이트에서 브라우저가 자체 서명 인증서를 거부하는 이유이기도 합니다.
개인 키를 붙여넣어도 되나요?
안 됩니다. 이 도구는 공개되도록 설계된 인증서만 읽습니다. 개인 키는 어떤 웹 페이지에도 붙여넣으면 안 됩니다. 여기서 업로드되는 건 없지만, 키가 유출되는 건 결국 그 습관 때문입니다.
인증서가 어디론가 업로드되나요?
아니요. 브라우저에서 디코딩하고 지문도 브라우저 내장 암호화 기능으로 계산합니다. 서버로 전송되는 것은 없습니다.

관련 도구