logo
GeekFormat

SSL 인증서 검사기

인증서 프로브

서버에서 직접 TLS 핸드셰이크를 시작하여 인증서를 읽고 프로토콜을 협상하며 남은 유효기간을 확인합니다.

온라인에서 SSL/TLS 인증서를 검사하세요. 도메인을 입력하면 인증서 유효성, 도메인 일치, 남은 일수, TLS 버전, 암호 스위트, SAN 목록을 확인할 수 있습니다. 백엔드에서 핸드셰이크를 시작하므로 CORS 문제가 없습니다.

관련 추천

사용 사례

  • 웹사이트 출시 전/인증서 갱신 후 HTTPS가 정상적으로 작동하는지 빠르게 검증
  • 인증서 만료 알림: 남은 일수를 정기적으로 검사하여 예기치 않은 만료로 인한 접근 중단 방지
  • 브라우저 HTTPS 오류 문제 해결: 만료, 도메인 불일치, 인증서 체인 문제 중 원인 파악
  • CDN/리버스 프록시 배포 후 에지 노드 인증서가 올바르게 로드되었는지 검증
  • TLS 프로토콜 버전과 암호 스위트가 보안 규정 준수 요구사항을 충족하는지 확인
  • 다중 도메인 인증서 배포 후 SAN 목록이 모든 대상 도메인을涵盖하는지 검증

주요 기능

  • 백엔드 TLS 핸드셰이크: 서버에서 직접 TLS 연결을 시작하며 브라우저 CORS 제한 없이 모든 공개 도메인 검사 가능
  • 권한 부여 상태 즉시 판단: 인증서 유효성, 도메인 일치, 권한 부여 오류 정보를 한눈에 파악
  • 남은 일수 색상 알림: >30일 녹색, 7-30일 노란색, <7일 빨간색으로 갱신 시점 빠르게 판단
  • 핵심 구성 개요: TLS 프로토콜 버전, 암호 스위트(Cipher), ALPN 프로토콜 협상 결과를 직접 확인
  • 전체 SAN 목록 표시: 모든 주체 대체 이름이 태그 형식으로 나열되며 8개를 초과하면 펼쳐서 모두 볼 수 있음
  • 이중 지문 원클릭 복사: SHA-1과 SHA-256 지문이 개별적으로 표시되며 원클릭 복사 지원
  • 전체 JSON 내보내기: 전체 인증서 JSON 구조를 펼쳐서 볼 수 있으며 심층 문제 해결과 보관을 위해 원클릭 복사 지원

이용 방법

  1. 검사할 도메인을 입력하세요(예: geekformat.com, https:// 접두사 없이)
  2. '인증서 검사' 버튼을 클릭하고 TLS 핸드셰이크 결과를 1-3초 기다립니다
  3. 먼저 권한 부여 상태(녹색 유효/빨간색 무효)와 남은 일수 색상을 확인합니다
  4. TLS 버전, Cipher, ALPN 협상이 예상과 일치하는지 확인합니다
  5. Subject/Issuer, 유효기간, SAN 목록을 보고 인증서 정보가 올바른지 확인합니다
  6. 심층 문제 해결이 필요한 경우 JSON 세부 정보를 펼쳐 전체 인증서 구조를 보고 복사하여 보관합니다

자주 묻는 질문

SSL 인증서를 검사해야 하는 이유는 무엇인가요?

인증서 만료, 도메인 불일치, 구성 오류는 HTTPS 웹사이트에서 가장 흔한 장애 유형입니다. 인증서가 만료되면 브라우저에 '안전하지 않음' 경고가 표시되어 방문자가 이탈하고 Google 검색 순위에도 영향을 미칩니다. 정기적인 검사와 조기 갱신은 HTTPS가 정상적으로 작동하도록 하는 기본적인 운영 작업입니다.

이 인증서 검사 도구와 SSL Labs의 차이점은 무엇인가요?

SSL Labs는 심층적인 점수 매기기(프로토콜, 스위트, 취약점 등 포괄적인 테스트를 포함하며 약 2분 소요)를 수행하지만, 이 도구는 빠른 기본 검사(1-3초 내 결과 반환)를 수행합니다. 인증서 유효성, 유효기간, TLS 버전, 암호 스위트, SAN 목록 등 핵심 정보를 다루며 서비스 출시 전 빠른 검증, 갱신 확인, 문제 해결에 적합합니다.

브라우저에서는 직접 접속할 수 있는데 이 도구에서는 검사에 실패하는 이유는 무엇인가요?

가능한 원인: 1) 웹사이트가 해외 IP를 차단함(검사 서버는 해외에 있음); 2) 서버가 SNI로 구분하지만 구성이 불완전함; 3) 기업 인트라넷 자체 서명 인증서를 사용함; 4) 방화벽이 검사 노드를 차단함. 검사 실패가 인증서에 문제가 있음을 의미하지는 않으며 구체적인 오류 메시지를 바탕으로 판단해야 합니다.

TLS 1.2와 TLS 1.3의 차이점은 무엇인가요?

TLS 1.3(2018년, RFC 8446)은 최신 버전으로, 핸드셰이크 속도가 TLS 1.2의 2-RTT에서 1-RTT, 심지어 0-RTT로 향상되었으며 RSA 키 교환, RC4, SHA-1 등 안전하지 않은 알고리즘을 제거하고 전방 안전성(Forward Secrecy)을 기본으로 활성화하여 보안성과 성능이 모두 크게 향상되었습니다. 새로 배포할 때는 TLS 1.3 지원을 우선적으로 고려하고 이전 클라이언트와의 호환성을 위해 TLS 1.2를 유지하는 것이 좋습니다.

인증서 만료 며칠 전에 갱신해야 하나요?

만료 30일 전에 갱신 준비를 시작하고 최소 7일 전에 배포를 완료하는 것이 좋습니다. 이 도구는 색상 알림을 사용합니다: >30일 녹색(정상), 7-30일 노란색(갱신 필요), <7일 빨간색(긴급). Let's Encrypt 인증서는 유효기간이 90일이므로 자동 갱신 구성을 권장합니다.

Let's Encrypt

SAN 목록이 무엇이며 왜 중요한가요?

SAN(Subject Alternative Name, 주체 대체 이름)은 인증서에서 사용이 허용된 도메인/IP 목록입니다. 최신 브라우저(Chrome 58+)는 더 이상 Common Name(CN) 필드를 신뢰하지 않고 SAN만 검사합니다. 접근 중인 도메인이 SAN 목록에 없으면 브라우저에서 '도메인 불일치' 오류를 보고합니다. 하나의 인증서로 SAN을 통해 여러 도메인(예: example.com, www.example.com, api.example.com)을 보호할 수 있습니다.

인증서 지문을 확인해야 하는 이유는 무엇인가요?

인증서 지문(SHA-1/SHA-256)은 인증서 내용의 해시 값으로, HPKP(폐기됨), 인증서 고정(Certificate Pinning), 배포된 인증서가 예상과 일치하는지 수동 검증하는 데 사용할 수 있습니다. 예를 들어 CDN이 새 인증서를 올바르게 로드했는지 확인하거나 여러 서버 간에 인증서가 동일한지 검증할 때 유용합니다. 참고: SHA-1 지문은 식별 용도로만 사용해야 하며 보안 검증에는 사용해서는 안 됩니다.

SSL/TLS 인증서 검사란 무엇인가요?

SSL/TLS 인증서 검사는 클라이언트에서 TLS 핸드셰이크를 시작하여 대상 서버가 반환하는 인증서 정보를 가져와 분석함으로써 HTTPS 구성이 올바른지 판단하는 과정입니다. 핵심 검사 항목에는 다음이 포함됩니다: 인증서가 유효기간 내인지, 접근 중인 도메인이 인증서 허용 목록에 있는지(SAN 일치), 인증서 체인이 완전하고 신뢰할 수 있는지, 사용된 TLS 프로토콜 버전과 암호 스위트가 안전한지 등.

**인증서 검사가 왜 그렇게 중요한가요?** SSL 인증서는 HTTPS의 신뢰 기반입니다. 인증서에 문제가 발생하면(가장 흔한 것은 만료) 브라우저가 직접 접근을 차단하고 '연결이 비공개로 설정되어 있지 않습니다'라는 빨간색 경고 페이지를 표시하여 웹사이트 트래픽, 전환율, SEO 순위, 브랜드 신뢰에 직접적인 타격을 줍니다. 모니터링에 따르면 인증서 만료는 HTTPS 장애의 가장 흔한 원인으로 모든 HTTPS 사고의 40% 이상을 차지합니다.

**브라우저에서 직접 접속하는 것과 무엇이 다른가요?** 브라우저 접속은 캐시, HSTS, 기업 프록시, 클라이언트 인증서 등의 요인으로 인해 편향이 발생할 수 있습니다; 반면 인증서 검사 도구는 독립된 노드에서 표준 TLS 핸드셰이크를 시작하여 운영 검증 시나리오에 적합한 객관적이고 표준화된 인증서 정보를 반환합니다. 이 도구는 백엔드 서버에서 직접 TLS 핸드셰이크를 시작하므로 **브라우저 CORS 제한이 없으며** 공개적으로 접근 가능한 모든 HTTPS 도메인을 검사할 수 있습니다.

**이 도구가 검사하는 핵심 정보**: 인증서 권한 부여 상태(유효 여부), authorizationError 구체적인 오류 메시지, TLS 프로토콜 버전(TLS 1.2/1.3), 협상된 암호 스위트(Cipher), ALPN 프로토콜 협상 결과(h2/http/1.1), 인증서 발급자(Subject/Issuer), 유효기간 시작 및 종료 날짜(validFrom/validTo), 남은 일수(색상 알림 포함), SAN 주체 대체 이름 목록, SHA-1/SHA-256 지문, 응답 시간, 그리고 전체 JSON 세부 정보.

검사 결과는 보통 1-3초 내에 반환되며 서비스 출시 전 빠른 검증, 갱신 확인, 문제 해결 등의 시나리오에 적합합니다. 심층적인 점수 매기기(SSL Labs의 A+-F 등급처럼 재협상, 취약점 테스트, 프로토콜 지원도 등을 포함)가 필요한 경우 SSL Labs Server Test와 함께 사용하는 것이 좋습니다.

术语表

SSL/TLS
SSL(Secure Sockets Layer)은 1990년대 넷스케이프가 개발한 암호화 프로토콜로, 이후 IETF에서 표준화되어 TLS(Transport Layer Security)로 이름이 변경되었습니다. SSL 3.0 이전 버전은 모두 폐기되었으며 현재 실제로 사용되는 것은 TLS 1.2와 TLS 1.3이지만 관습적으로 여전히 'SSL 인증서'라고 부르는 경우가 많습니다.
HTTPS
HTTP over TLS. HTTP와 TCP 사이에 TLS 암호화 계층을 추가하여 데이터 암호화, 서버 인증, 콘텐츠 무결성 보호를 제공합니다. Google 검색은 HTTPS 사이트에 순위 가중치를 부여하며 Chrome은 비HTTPS 사이트를 '안전하지 않음'으로 표시합니다.
SAN (Subject Alternative Name)
X.509 인증서 확장 필드로, 이 인증서의 사용이 허용된 모든 도메인 이름과 IP 주소를 나열합니다. 최신 브라우저(Chrome 58+)는 SAN만 검사하고 더 이상 Common Name(CN)을 보지 않습니다. 하나의 SAN 인증서로 여러 도메인을 동시에 보호할 수 있습니다.
인증서 체인 (Certificate Chain)
리프 인증서(서버 인증서)에서 중간 CA 인증서, 그리고 루트 CA 인증서로 이어지는 신뢰 체인입니다. 서버는 리프 인증서 + 중간 인증서를 전송해야 하며 브라우저는 미리 설치된 루트 인증서를 통해 체인의 무결성을 검증합니다. 중간 인증서 누락은 흔한 구성 오류입니다.
ALPN (Application-Layer Protocol Negotiation)
TLS 핸드셰이크 중 애플리케이션 계층 프로토콜을 협상할 수 있는 TLS 확장입니다(예: h2는 HTTP/2, http/1.1은 HTTP/1.1, h3는 HTTP/3). 핸드셰이크가 완료되면 추가 왕복 없이 협상된 프로토콜을 직접 사용할 수 있습니다.
Cipher Suite(암호 스위트)
TLS 핸드셰이크 중 협상되는 암호화 알고리즘 세트로, 키 교환 알고리즘, 인증 알고리즘, 대칭 암호화 알고리즘, 해시 알고리즘이 포함됩니다(예: TLS_AES_256_GCM_SHA384). 안전한 구성에서는 AEAD 스위트(GCM, ChaCha20-Poly1305 등)를 우선적으로 사용해야 합니다.
Let's Encrypt
ISRG가 운영하는 무료이고 자동화된 개방형 인증 기관(CA)으로 2016년에 정식 출시되어 30억 장 이상의 인증서를 발급하여 HTTPS 배포 장벽을 크게 낮췄습니다. 인증서 유효기간은 90일이며 ACME 프로토콜을 통해 자동 갱신됩니다.Let's Encrypt 공식 웹사이트
인증서 지문 (Fingerprint)
인증서 DER 인코딩 내용에서 계산된 해시 값으로, 일반적으로 SHA-1과 SHA-256이 사용됩니다. 지문은 인증서를 고유하게 식별하며 인증서 고정(Pinning)과 다중 노드 일관성 검증에 사용할 수 있습니다. SHA-1은 충돌 위험으로 인해 보안 목적으로는 권장되지 않지만 식별 목적으로는 여전히 널리 사용됩니다.
SNI (Server Name Indication)
핸드셰이크 중 클라이언트가 접근하려는 도메인 이름을 전송하여 동일한 IP의 서버가 여러 다른 도메인의 인증서를 배포할 수 있게 하는 TLS 확장입니다(HTTP의 Host 헤더와 유사). SNI는 최신 가상 호스트 HTTPS의 기반이며 SNI가 구성되지 않은 서버는 기본 인증서를 반환하여 도메인 불일치 오류를 일으킬 수 있습니다.
전방 안전성 (Forward Secrecy / PFS)
서버 개인 키가 나중에 유출되더라도 이전에 기록된 암호화된 세션 트래픽을 복호화할 수 없다는 보안 속성입니다. ECDHE 등 임시 키 교환 알고리즘을 통해 구현되며 TLS 1.3에서 필수이며 최신 보안 구성의 권장 표준입니다.

TLS 프로토콜 버전 역사와 현황

프로토콜 버전출시 연도현재 상태비고
SSL 1.0-3.01995-1996❌ 폐기/안전하지 않음POODLE 등 심각한 취약점이 존재하며 모든 최신 브라우저에서 비활성화됨
TLS 1.01999❌ 폐기BEAST, CRIME 등 취약점이 있으며 PCI DSS 2018부터 사용 금지
TLS 1.12006❌ 폐기RFC 8996에서 공식 폐기, Chrome/Firefox 2020년부터 지원 제거
TLS 1.22008⚠️ 널리 지원(전환기)현재 가장 널리 배포되고 호환성이 가장 좋지만 일부 약한 암호 스위트 위험이 있음
TLS 1.32018 (RFC 8446)✅ 권장핸드셰이크가 더 빠르고(1-RTT/0-RTT), 약한 알고리즘을 제거했으며 최신 브라우저에서 선호

인증서 만료 색상 알림 및 처리 권장사항

남은 일수상태 색상권장 조치
>30일🟢 녹색(정상)조치가 필요 없으며 정기적으로 검사하면 됨
7-30일🟡 노란색(경고)가능한 빨리 갱신 절차를 시작하여 만료 전 교체 완료
<7일🔴 빨간색(긴급)즉시 갱신하세요. 만료 후 브라우저가 접근을 차단함
0일/만료됨🔴 빨간색(만료됨)인증서가 무효화되었습니다. 사용자가 보안 경고를 보게 되므로 즉시 처리해야 함

일반적인 SSL 오류 유형 문제 해결

오류 유형일반적인 원인해결 방향
인증서 만료 (expired)인증서가 validTo 날짜를 초과하여 갱신되지 않음신속하게 갱신하고 새 인증서를 배포하세요
도메인 불일치 (name mismatch)인증서 SAN 목록에 현재 접근 중인 도메인이 없음대상 도메인을 포함한 인증서를 재발급하거나 CDN 원본 구성을 확인하세요
불완전한 인증서 체인 (incomplete chain)서버가 중간 인증서를 올바르게 구성하지 않음중간 인증서와 리프 인증서를 결합하여 배포하세요
자체 서명 인증서 (self-signed)인증서가 개인 CA에서 발급되어 공개적으로 신뢰되지 않음Let's Encrypt 등 공개적으로 신뢰된 CA에서 인증서를 발급받으세요
신뢰할 수 없는 발급자 (untrusted issuer)CA 루트 인증서가 브라우저 신뢰 저장소에 없음신뢰할 수 있는 CA가 발급한 인증서로 교체하세요

Authoritative References