SSL 인증서 파서

PEM 인증서를 붙여넣으면 표로 읽을 수 있습니다: 발급자, 주체, 포함된 이름, 유효 기간, 지문 — 모두 브라우저 안에서 파싱됩니다. 선택 사항인 crt.sh 조회는 같은 도메인의 Certificate Transparency 기록을 보여줍니다. 서버가 지금 이 순간 제시하는 것을 보려면 대신 SSL 검사기를 사용하세요.

인증서 파싱하기

Certificate Transparency 기록 (선택 사항)

crt.sh에서 도메인에 대해 발급된 적 있는, 공개적으로 기록된 모든 인증서를 검색합니다. 이것은 기록이지 라이브 검사가 아닙니다: 예상하지 못한 인증서를 포함해 무엇이 발급되었는지를 보여줍니다. 이 브라우저에서 crt.sh에 닿을 수 없으면 이 섹션은 그 사실을 분명히 알리고, 위의 파서는 영향을 받지 않습니다.

인증서 읽는 법

인증서는 세 가지를 하나로 묶습니다: 공개 키, 이름 목록, 유효 기간 — 모두 발급자가 서명한 것입니다. 주체는 인증서가 누구에게 발급되었는지를 말하고, 발급자는 어떤 기관이 서명했는지를 말하는데, 인프라를 물려받을 때 갱신이 숨어 있는 곳이 바로 거기입니다. 일련번호는 이 인증서에 대한 발급자의 고유 식별자로, 기관이 형제 인증서들은 건드리지 않고 하나만 폐지할 때 유용합니다. 서명 알고리즘은 발급자의 서명이 어떻게 만들어졌는지를 알려줍니다. 아직 MD5나 SHA-1에 머물러 있는 것은 은퇴 날짜를 한참 지났으므로 만료 날짜와 무관하게 교체해야 합니다.

유효 기간은 마감 기한이 있는 부분이며, 이 페이지는 그것을 라이브 검사기와 같은 색상으로 남은 일수 셈으로 바꿉니다: 90일을 넘으면 여유, 90일 안쪽이면 호박색, 30일 안쪽이면 빨강, 0을 지나면 분명한 만료입니다. 포함된 이름 목록이야말로 브라우저가 실제로 확인하는 것으로, 일반 이름은 낡은 장식일 뿐이며, 이 목록에서 이름 하나가 빠진 것이 그 밖에는 건강한 사이트에서 브라우저 경고가 뜨는 가장 흔한 원인입니다. SHA-256 지문은 정확한 인증서 바이트에 대한 간결한 식별자입니다: 지문이 같은 두 인증서는 같은 인증서이므로, 손에 든 것을 로그나 공급업체나 동료의 주장과 비교하는 믿을 만한 방법이 됩니다.

파서 대 라이브 검사 대 투명성 로그

세 가지 다른 질문, 세 가지 다른 도구, 그리고 이를 섞으면 실제로 혼란이 생깁니다. "이 파일에 무엇이 들어 있나?"는 이 페이지의 파서입니다 — 오프라인으로, 정확하게, 손에 든 파일로 한정됩니다. "서버가 지금 이 순간 무엇을 제시하나?"는 SSL 검사기로, 진짜 TLS 핸드셰이크를 수행하기 때문에 파일과 다를 수 있습니다: 디스크에서 갱신된 인증서는 서버가 다시 로드되기 전까지 아무 의미가 없습니다. "이 도메인에 대해 지금까지 무엇이 발급되었나?"는 crt.sh 검색으로, 공개 Certificate Transparency 로그를 읽어 다른 두 도구로는 볼 수 없는, 잊힌 발급이나 무단 발급을 드러낼 수 있습니다. 파일을 읽을 때는 파서를, 배포를 검증할 때는 검사기를, 기록을 감사할 때는 로그 검색을 사용하세요 — 그리고 검사기와 파일이 다르면 검사기를 믿으세요. 네 번째 질문은 또 다른 도구의 몫입니다: 여러 파일이 함께 맞물리는지 — 어떤 개인 키가 이 인증서와 맞는지, 체인을 어떤 순서로 제시해야 하는지 — 는 공유 공개 키를 기준으로 인증서, 키, CSR을 묶어 주는 인증서 및 키 매처입니다.

인증서 파싱에는 node-forge를 사용하며, BSD-3-Clause 라이선스를 따릅니다. 온라인 조회는 입력한 도메인을 crt.sh로 보냅니다. PEM 파서 자체는 어떤 네트워크 요청도 하지 않습니다.

자주 묻는 질문

SSL 검사기와 어떻게 다른가요?

SSL 검사기는 서버를 상대로 라이브 TLS 핸드셰이크를 수행하고 서버가 지금 실제로 제시하는 인증서를 보고합니다. 이 페이지는 붙여넣은 인증서 텍스트를 파싱합니다 — 인증서 파일이 있거나, CSR 워크플로를 거치거나, 여기에서 닿을 수 없는 시스템의 인증서일 때 유용합니다. 사이트에 닿을 수 있으면 SSL 검사기를, 파일만 있으면 이 페이지를 사용하세요.

crt.sh는 무엇을 더해주나요?

crt.sh는 공개 Certificate Transparency 로그를 검색합니다: 도메인에 대해 발급된 적 있는 모든 공개 신뢰 인증서를 발급자와 유효 날짜와 함께 보여줍니다. "무엇이 발급되었나"에 답하며, 예상하지 못한 인증서도 포함합니다. 서버가 오늘 무엇을 제시하는지는 알려줄 수 없습니다. 그것은 라이브 핸드셰이크만 할 수 있습니다.

crt.sh 조회가 왜 실패할 수 있나요?

crt.sh는 무료 타사 서비스이며, 브라우저가 그 응답을 읽을 수 있는지는 교차 출처 헤더에 달려 있습니다. 여기서 실패하면 페이지는 그 사실을 분명히 알리고 위의 PEM 파서는 계속 동작합니다 — 온라인 조회는 강화 기능이지 도구 자체가 아닙니다.

SAN은 일반 이름이 말해주지 않는 무엇을 말해주나요?

최신 브라우저는 일반 이름을 무시하고 대신 주체 대체 이름 목록을 확인합니다. 인증서는 그 목록에 있는 이름에 정확히 유효합니다: www 없는 맨 도메인이나 잊힌 하위 도메인이, 그 밖에는 건강한 사이트에서 브라우저 경고가 뜨는 가장 흔한 원인입니다.

인증서를 붙여넣으면 무엇이 새어 나가나요?

인증서는 설계상 공개 문서입니다 — 개인 키도, 비밀도 담고 있지 않습니다. 개인 키는 별도의 파일이며 어디에도 붙여넣어서는 안 됩니다. 어쨌든 여기에서의 파싱은 전적으로 브라우저 안에서 일어납니다.