ToolActToolAct

SSL 인증서 점검 도구

도메인의 SSL/TLS 인증서 유효성, 만료일, 인증서 체인 상세 정보를 온라인으로 확인

도메인 이름을 입력하고 "검사" 버튼을 클릭하여 SSL 인증서 정보를 확인하세요

SSL 인증서 검사기란?

SSL 인증서 검사기는 웹사이트의 TLS 인증서가 유효한지, 요청한 도메인과 일치하는지, 인증서 체인이 올바른지, 만료가 임박하지 않았는지 확인하는 도구입니다. HTTPS는 브라우저의 자물쇠 아이콘을 넘어서 암호화된 전송, 서버 신원 확인, 사용자 신뢰, 검색 노출, 결제 흐름, API 연동, 자동화 클라이언트에 영향을 줍니다. 이 도구는 운영, 배포, 보안 점검, 장애 분석에서 만료일, 발급자, 적용 도메인, 인증서 체인, 프로토콜 신호를 빠르게 확인하는 데 유용합니다. 흔한 문제로는 갱신 누락, 중간 인증서 누락, 포함되지 않은 서브도메인, 잘못된 환경에 설치된 인증서가 있습니다.

사용 방법

사용 방법

  1. 확인할 도메인 이름을 입력하세요 (예: google.com)
  2. 기본 포트는 443입니다. 특수 설정이 필요하면 변경하세요.
  3. '확인' 버튼을 클릭하거나 Enter 키를 눌러 시작하세요
  4. 인증서 유효 기간, 만료일, TLS 프로토콜 버전 등을 확인할 수 있습니다
  5. 인증서 체인을 펼쳐 발급자, 서명 알고리즘, SAN 등 각 인증서의 상세 정보를 확인하세요

인증서 관련 팁

  • 사용자가 접속하는 정확한 호스트명(서브도메인 포함)을 확인하세요. 인증서가 특정 이름에만 유효하고 다른 이름에는 불일치할 수 있습니다.
  • DNS, CDN, 로드 밸런서 변경 또는 인증서 갱신 후 검사를 실행하세요. 같은 도메인이라도 환경에 따라 인증서 체인이 달라질 수 있습니다.

활용 사례

백엔드에서 HTTPS 인증서 상태 확인도메인과 포트를 입력하면 네트워크 API를 통해 서명된 SSL 인증서 검사를 실행합니다. 입력한 host:port에만 접속하며, 다른 엔드포인트나 관련 없는 호스트에는 접근하지 않습니다. 결과에는 핸드셰이크 성공 여부, 프로토콜, 암호화 스위트, 전체 유효성, 만료 상태, 만료까지 남은 일수, 도메인 일치 여부가 표시됩니다.
인증서 체인 검사핸드셰이크가 성공하면 각 인증서를 펼쳐 주체(Subject), 발급자(Issuer), 일련번호, 서명 알고리즘, 유효 기간, SAN 항목, 자체 서명 또는 만료 배지를 확인할 수 있습니다. 끊어진 중간 체인 진단, 리프 인증서를 실제로 발급한 CA 식별, 실수로 잘못 배포된 인증서 발견에 유용합니다.
갱신 및 호스트명 문제 조기 발견상태 배너에서 유효하지 않은 인증서, 만료된 인증서, 만료 임박 상태, 도메인 불일치를 강조 표시합니다. DNS 전환, CDN 마이그레이션, 로드 밸런서 변경, 정기 인증서 갱신 점검 전에 유용합니다. 브라우저 경고가 표시되기 전에 만료 카운트다운을 자동 갱신 윈도우(Let's Encrypt 90일, 상용 1~3년)와 비교하세요.
서브도메인 마이그레이션 시 SAN 커버리지 교차 확인핸드셰이크 후 SAN 목록에 인증서가 유효한 모든 호스트명이 표시됩니다. DNS를 새 호스트로 전환하기 전에 서브도메인 목록과 비교하세요. 와일드카드 인증서가 내부 스테이징 호스트나 지역 서브도메인을 포함하지 않을 수 있고, 다중 도메인 SAN이 재발급 과정에서 항목이 누락될 수 있습니다. 최신 브라우저는 호스트명 매칭에 레거시 Subject CN 필드를 무시하고 SAN 확장만 사용하므로, CN이 올바르지만 SAN이 누락된 인증서는 Chrome, Firefox, Safari에서 도메인 불일치 오류를 발생시키지만 구형 검사기에서는 유효로 보고할 수 있습니다.
CA 마이그레이션 후 중간 체인 검증인증 기관을 변경하거나 새 오리진으로 이전할 때, 체인의 각 인증서를 펼쳐 발급자, 서명 알고리즘(SHA-1 대 SHA-256 등), 유효 기간을 확인하세요. 불완전한 중간 번들은 Linux에서 핸드셰이크 실패의 흔한 원인이지만 macOS에서는 발생하지 않으므로, 사용자가 실행하는 것과 동일한 클라이언트 종류에서 번들을 검증하세요. 체인은 리프 -> 중간 -> 루트 순서여야 하며, 루트는 클라이언트 신뢰 저장소에 포함되어 있으므로 전송할 필요가 없습니다. OCSP 스테이플링이 활성화되면 TLS 핸드셰이크에 최신 폐기 상태 객체가 첨부되어 클라이언트가 CA의 OCSP 응답자를 직접 호출할 필요가 없습니다.

기술 원리

SSL/TLS 인증서는 X.509 표준을 따릅니다. 각 인증서에는 주체(도메인 또는 조직), 발급 CA, 유효 기간(시작일/종료일), 공개 키 정보(공개 키 및 알고리즘), 서명 알고리즘(SHA256-RSA 또는 ECDSA-SHA256 등), X509v3 확장(가장 중요한 것은 SAN 확장) 등의 핵심 필드가 포함됩니다. TLS 핸드셰이크 중 서버는 체인을 순서대로 전송합니다: 리프 인증서 -> 중간 인증서 -> 루트 인증서(브라우저에 내장되어 있으므로 전송할 필요 없음). 클라이언트는 리프부터 시작하여 각 수준에서 발급자가 상위의 주체와 일치하는지 확인하고, 상위의 공개 키로 하위의 서명을 검증하며, 유효 기간을 확인하고, 최종적으로 신뢰할 수 있는 루트까지 추적합니다. Let's Encrypt는 90일 유효 인증서를 발급하며 certbot 같은 자동화 도구와 함께 사용하도록 설계되었습니다. 상용 인증서는 보통 1~3년입니다. SNI(Server Name Indication)를 사용하면 단일 IP로 여러 HTTPS 사이트를 호스팅할 수 있습니다. 클라이언트가 핸드셰이크 중 SNI 확장을 먼저 전송하여 대상 호스트명을 서버에 알리면, 서버가 일치하는 인증서를 반환합니다. OCSP(Online Certificate Status Protocol)를 사용하면 인증서 폐기 여부를 실시간으로 조회하여 방대한 CRL 목록을 다운로드할 필요가 없습니다.

  • X.509 인증서 필드: 주체(Subject), 발급자(Issuer), 유효 기간(Validity), 공개 키(Public Key), 서명 알고리즘(Signature Algorithm), SAN 확장
  • 인증서 체인 검증: 리프부터 시작하여 발급자 -> 주체 일치를 단계별로 확인, 상위 공개 키로 하위 서명 검증, 최종적으로 신뢰할 수 있는 루트까지 추적
  • Let's Encrypt 인증서는 기본 90일 유효 기간이며, certbot 등 자동 갱신 도구와 함께 사용; 상용 인증서는 보통 1~3년
  • SNI(Server Name Indication)를 사용하면 단일 IP로 여러 HTTPS 사이트 호스팅 가능; 클라이언트가 핸드셰이크 중 대상 호스트명을 선언하면 일치하는 인증서를 수신
  • OCSP는 실시간 폐기 확인에 사용되며, 방대한 CRL 다운로드를 방지; 주요 CA는 OCSP 스테이플링도 배포
  • 만료된 인증서, 취약한 서명 알고리즘(SHA-1), 불충분한 키 길이(RSA 2048비트 미만)는 모두 최신 브라우저 보안 경고를 트리거

예시

GitHub 인증서 확인

github.com — 발급자 DigiCert TLS Hybrid ECC SHA384, 만료까지 67일 남음, 프로토콜 TLS 1.3, SAN에 github.com과 *.github.com 포함

Google 인증서 확인

google.com — 발급자 WR2 (Google Trust Services), 만료까지 84일 남음, SAN에 *.google.com과 google.com 포함

내 인증서 확인

blog.example.com — 발급자 Let's Encrypt R10, 만료까지 23일 남음 (곧 갱신 필요), 서명 알고리즘 ECDSA-SHA256

자주 묻는 질문

인증서 검사로 어떤 정보를 확인할 수 있나요?

전체 인증서 체인(리프, 중간, 루트), 유효 기간, 발급 CA, 주체 Common Name과 Subject Alternative Names, 서명 알고리즘, 공개키 종류와 길이, 인증서 시리얼 번호, 그리고 체인이 신뢰된 루트와 일치하는지 여부를 보여 줍니다. 백엔드에서 해당 호스트의 443 포트에 접속해 직접 확인한 체인을 그대로 보고합니다.

443번이 아닌 포트의 인증서도 검사할 수 있나요?

네, host:port 형식으로 입력하면 됩니다(예: example.com:8443). 일부 빌드는 IMAP(993), SMTP(465/587), POP3(995) 등 다른 TLS 포트도 지원합니다. 단, 프로토콜이 일반 TLS이거나 페이지가 지원하는 STARTTLS 방식이어야 합니다.

'N일 후 만료'는 어떤 의미인가요?

인증서의 notAfter 날짜를 가리킵니다. 이 날짜가 지나면 최신 브라우저는 사이트 로딩을 거부합니다. 만료 30일 전에는 자동 갱신을 설정해 두세요. Let's Encrypt 인증서는 유효기간이 90일이며, 대부분의 운영자는 60일 시점에 자동으로 갱신합니다.

여기서는 정상인데 브라우저에서는 실패하는 이유가 무엇인가요?

흔한 원인은 다음과 같습니다. 체인 순서가 잘못된 경우(서버가 중간 인증서를 잘못된 순서로 전송), 중간 인증서 누락(서버가 리프만 전송), 루트가 브라우저 신뢰 저장소에 없는 경우(사설 CA, 미포함 정부 CA), SNI 불일치(서버가 호스트명에 맞지 않는 인증서를 응답)입니다. 일반적으로 페이지에서 각 문제를 표시해 줍니다.

DV, OV, EV 인증서의 차이는 무엇인가요?

Domain Validation(DV)은 도메인 소유 여부만 검증합니다. Organization Validation(OV)은 회사의 실재 여부까지 확인합니다. Extended Validation(EV)은 더 엄격한 사업자 검증을 거칩니다. 다만 최신 브라우저는 세 가지 모두 동일하게 자물쇠 아이콘으로 표시하며, 2019년 이후 EV가 주소창을 녹색으로 표시하는 기능은 대부분 사라졌습니다.

자체 서명 인증서나 사설 CA 인증서도 확인할 수 있나요?

네. 인증서 정보는 보여 주지만, 발급 CA가 공인 루트 저장소에 없으므로 'untrusted'로 표시됩니다. 사내 인증서나 테스트용 인증서를 점검할 때 유용합니다.

대상 호스트의 데이터가 노출되나요?

이 검사는 일반 TLS 클라이언트와 똑같이 백엔드에서 호스트의 443 포트에 접속할 뿐이며, 호스트의 접속 로그에는 그 연결이 기록됩니다. 외부 스캔이 금지된 호스트에는 사용하지 마세요.