OneWebDesk

SSL 인증서 점검

도메인의 SSL 인증서 만료일·발급기관·체인·TLS 버전을 실시간 점검합니다.

SSL 인증서 점검은 도메인에 설치된 TLS/SSL 인증서를 실시간으로 읽어 만료일·발급기관·주체(CN)·대체 이름(SAN)·TLS 프로토콜·키 길이를 한눈에 보여주는 도구입니다. 서버가 실제로 응답하는 인증서를 그대로 확인하므로, 브라우저 자물쇠 아이콘 뒤에서 무슨 일이 벌어지는지 정확히 알 수 있습니다.

가장 중요한 신호는 만료까지 남은 일수(D-day)체인 신뢰 여부입니다. 만료가 임박하면 갱신 일정을, 신뢰 실패(authorized=false)면 중간 인증서 누락이나 호스트 이름 불일치를 의심해야 합니다. 도메인만 입력하면 됩니다(프로토콜·경로 불필요).

만료일과 갱신 주기

공개 신뢰 인증서는 보통 90일(Let's Encrypt)에서 1년 사이의 유효기간을 가집니다. 만료된 인증서는 브라우저가 빨간 경고를 띄워 방문자를 차단하므로, 만료 30일 전부터는 갱신 상태를 주시해야 합니다. 이 도구는 남은 일수를 D-day로 크게 표시하며 30일 이하면 주의, 만료되면 위험으로 알려줍니다.

체인 신뢰와 호스트 이름

인증서는 단독으로 신뢰되지 않고, 서버가 보낸 인증서가 루트까지 이어지는 체인으로 검증됩니다. 흔한 실패 원인은 다음과 같습니다.

  • 중간(intermediate) 인증서를 서버가 함께 보내지 않음 → 체인 불완전
  • 접속한 도메인이 인증서의 CN/SAN에 없음 → 이름 불일치
  • 유효기간이 지났거나 아직 시작되지 않음

신뢰 실패 시 표시되는 authorizationError 코드(예: 인증서 만료, 자체 서명, 이름 불일치)로 원인을 좁힐 수 있습니다.

SAN(대체 이름)의 역할

현대 브라우저는 인증서의 SAN(Subject Alternative Name) 목록만 호스트 이름 검증에 사용합니다. CN에 도메인이 있어도 SAN에 없으면 신뢰되지 않습니다. 와일드카드(*.example.com)와 여러 도메인을 한 인증서에 담는 경우가 많으니, 점검 대상 도메인이 SAN 목록에 실제로 포함되는지 확인하세요. 이미 보유한 인증서 파일의 SAN을 읽으려면 SSL 인증서 디코더에 붙여넣고, 같은 호스트가 허용하는 프로토콜은 TLS 버전 지원 점검으로 함께 확인하세요.

authorizationError 코드 해석표

신뢰 검증이 실패하면 Node의 TLS 스택이 표준화된 오류 코드를 돌려줍니다. 가장 자주 보이는 코드와 실제 의미·조치는 다음과 같습니다.

코드의미조치
CERT_HAS_EXPIRED유효기간이 지남(notAfter 경과)즉시 갱신·재배포
UNABLE_TO_VERIFY_LEAF_SIGNATURE중간 인증서가 누락되어 체인을 못 이음fullchain.pem(서버+중간)으로 재설치
DEPTH_ZERO_SELF_SIGNED_CERT자체 서명 인증서(공개 CA 발급 아님)공개 CA 인증서로 교체
ERR_TLS_CERT_ALTNAME_INVALID접속 호스트가 SAN 목록에 없음SAN에 도메인 추가 후 재발급
CERT_NOT_YET_VALID발급 시작 전(notBefore 미도래, 시계 오차 흔함)서버·클라이언트 시간(NTP) 확인
SELF_SIGNED_CERT_IN_CHAIN사설 루트가 체인에 섞임(기업 프록시 등)공개 루트로 끝나는 체인으로 정리

읽어보는 예시

www.example.com을 점검했을 때 결과가 다음과 같다고 합시다.

  • Subject(CN): example.com / Issuer: R3, Let's Encrypt
  • SAN: example.com, www.example.com
  • notAfter: 78일 남음 / Protocol: TLSv1.3 / 키: EC P-256
  • authorized: true

해석: 발급기관이 공개 CA(Let's Encrypt)이고 접속 호스트 www.example.com이 SAN에 포함되므로 이름 검증 통과, 78일이 남아 갱신은 아직 여유, TLS 1.3·ECDSA로 키 강도도 양호 → 전부 정상입니다. 반대로 SAN에 www가 없고 example.com만 있었다면 authorized는 false, 오류는 ERR_TLS_CERT_ALTNAME_INVALID가 됩니다.

흔한 실수 / 함정

가장 흔한 오해는 "만료일만 멀면 안전하다"는 생각입니다. 만료가 100일 넘게 남아 있어도 중간 인증서를 빼고 leaf 인증서만 설치하면 authorized=false가 됩니다. 게다가 본인 PC 브라우저는 이전에 받아둔 중간 인증서를 캐시해 두기 때문에 "나는 잘 열린다"고 착각하기 쉽습니다. 항상 D-day와 authorized를 함께 보고, 설치 시에는 leaf가 아니라 fullchain(서버+중간)을 올리세요.

자주 묻는 질문

포트를 바꿔 점검할 수 있나요?
이 도구는 표준 HTTPS 포트인 443으로 연결해 인증서를 읽습니다. 메일·다른 서비스 포트의 인증서 점검은 별도 도구로 제공될 예정입니다.
authorized가 false인데 브라우저에서는 잘 열려요.
브라우저는 누락된 중간 인증서를 캐시나 AIA로 보완하기도 합니다. 이 도구는 서버가 실제로 보낸 체인만 검증하므로, false는 '체인이 불완전하다'는 신호일 수 있습니다. 서버에 중간 인증서를 함께 설치하는 것을 권장합니다.
내부(사내) 서버 인증서도 점검되나요?
아니요. 공개 인터넷에서 접근 가능한 도메인만 점검합니다. 사설 IP나 내부 전용 호스트는 보안상 차단됩니다.
입력한 도메인이 외부로 저장되나요?
점검은 서버가 해당 도메인에 직접 TLS 연결을 맺어 수행하며, 결과는 부하 절감을 위해 60초만 임시 캐싱됩니다. 별도 로그 저장이나 제3자 전송은 하지 않습니다.

관련 가이드

관련 도구