인증서 검증 실패는 이름, 시간, 체인, 키, 폐기 상태 순서로 좁힌다
브라우저의 “인증서 오류”는 하나의 문제가 아닙니다. 접속한 이름이 인증서에 있는지, 기간이 유효한지, 신뢰 체인이 이어지는지부터 순서대로 좁혀야 합니다.
01
호스트명
SAN에 접속 도메인이 있는지 확인합니다.
02
시간
notBefore, notAfter, 서버/클라이언트 시계를 봅니다.
03
체인
중간 CA 누락과 신뢰 루트 연결을 확인합니다.
04
개인키
서버가 인증서와 짝이 맞는 키를 쓰는지 봅니다.
05
폐기/정책
revocation, weak algorithm, pinning 정책을 점검합니다.
원인
대표 메시지
확인 명령/위치
조치
SAN 불일치
name mismatch
브라우저 인증서 상세, openssl s_client
올바른 도메인으로 재발급
만료/미개시
expired, not yet valid
notBefore/notAfter, 시스템 시간
갱신 자동화와 시계 동기화 확인
체인 누락
unable to get issuer
서버 full chain, 중간 CA 포함 여부
fullchain 배포, LB/CDN 체인 갱신
키 불일치
handshake failure
인증서 public key와 private key modulus
짝이 맞는 키 파일로 교체
정책 차단
weak signature, revoked
SHA-1, OCSP/CRL, HSTS/pinning
알고리즘 교체, 폐기 상태와 정책 확인
먼저 이름
대부분의 현장 오류는 SAN과 체인에서 시작한다
도메인이 틀리거나 fullchain이 빠지면 암호 자체가 강해도 연결은 실패합니다.
갱신 후 확인
파일 변경과 실제 TLS 응답은 다를 수 있다
서비스 reload, LB 반영, CDN 캐시까지 외부에서 확인해야 합니다.
사용자 경고
경고 무시는 MITM 방어를 포기하는 것과 같다
인증서 오류는 우회 절차가 아니라 원인 진단 신호로 다뤄야 합니다.