SSL 인증서 확인
무료 SSL 검사(SSL check) 도구로 어떤 사이트든 SSL 인증서를 온라인으로 확인하세요. 유효한지, 만료일, 모든 브라우저에서의 신뢰 체인, 폐기 여부, TLS 버전과 암호 스위트를 검사해 몇 초 만에 A+~F 등급을 매깁니다. 웹사이트와 메일 서버 모두 확인할 수 있습니다.
이 SSL 검사 도구가 확인하는 항목
SSL 검사 도구는 브라우저와 같은 방식으로 서버에 접속해 서버가 제시하는 인증서를 읽습니다. 이 도구는 TLS 통신을 직접 수행하므로 서버가 보내는 내용을 그대로 봅니다. 인증서와 그 체인, 프로토콜 버전, 암호 스위트, 키 교환입니다. Cloudflare 뒤에 있는 사이트는 저희 연결을 거부하므로, 이 경우 인증서는 CT 로그에서 가져오고 프로토콜 스캔과 등급은 건너뜁니다. IPv6 전용 서버에는 아직 연결할 수 없습니다. 그런 다음 브라우저와 운영체제가 사용하는 4개 루트 저장소에 비추어 체인을 검사하고, 인증서가 폐기되었는지 CA에 묻고, 서버가 아직 허용하는 오래된 프로토콜과 약한 암호를 스캔합니다.
결과는 SSL 테스트와 TLS 검사를 한 번에 해 줍니다. 쉬운 말로 된 판정, 이유가 붙은 A+~F 등급, 그 근거가 되는 세부 정보를 보여 줍니다. 인증서 주변의 설정, 즉 HSTS 헤더, HTTP에서 HTTPS로의 리디렉션, CAA 레코드, Certificate Transparency 로그도 확인합니다.

판정유효한지 여부를 한 문장으로 알려 주고, 남은 일수, 발급 기관, 이유가 붙은 등급을 보여 줍니다.유효 기간인증서가 수명 중 어디쯤에 있는지 보여 줍니다: 발급일, 오늘, 만료일을 발급일 기준 최대치와 비교합니다.신뢰 체인사이트부터 루트까지의 모든 인증서, 각 인증서를 어떻게 얻었는지, 4개 루트 저장소의 판정을 보여 줍니다.검사 항목호스트 이름, 체인, 신뢰, 폐기, 프로토콜, 키 교환, HSTS, CAA를 검사하고, 실패한 항목마다 해결 방법을 알려 줍니다.SSL 인증서 확인 방법
가장 빠른 방법부터 가장 자세한 방법까지 세 가지가 있습니다:
- 1
이 SSL 인증서 확인 사이트에서
도메인(또는 URL, 다른 서비스라면 host:port)을 입력하고 SSL 확인을 선택하세요. 인증서와 체인이 먼저 나오고, 이어서 폐기 여부, 프로토콜 스캔, HSTS가 채워지며, 판정과 등급은 마지막에 나옵니다.
- 2
브라우저에서
주소 왼쪽의 아이콘을 선택한 다음, Chrome에서는 Connection is secure(연결이 안전함)와 Certificate is valid(인증서가 유효함)를, Firefox에서는 More information(자세한 정보)을 선택합니다. 이름, 발급 기관, 날짜는 볼 수 있지만, 서버가 보낸 그대로의 체인, 허용하는 프로토콜, 폐기 여부는 볼 수 없습니다. Chrome은 대부분의 폐기를 온라인으로 확인하지 않습니다.
- 3
openssl로
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null은 서버가 보내는 체인을 출력합니다. 만료일을 보려면 출력을openssl x509 -noout -dates로 파이프하세요. 명령어는 아래 표와 결과의 '체인' 보기에 있습니다.
SSL 인증서 만료일 확인 방법
위에서 도메인을 확인하세요. 결과에 남은 일수가 표시되고, 발급일부터 만료일까지 인증서의 전체 유효 기간이 나옵니다. 만료일에 표시되는 날짜는 인증서의 notAfter 필드 값이며, 그 시점이 지나면 모든 브라우저가 전체 화면 경고를 표시합니다(Chrome에서는 NET::ERR_CERT_DATE_INVALID).
터미널에서는 echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate로 같은 날짜를 출력할 수 있고, -checkend 2592000을 쓰면 30일 안에 만료되는지 스크립트에서 판단할 수 있습니다. '기록' 보기에서는 만료 전 원하는 날짜의 캘린더 알림을 계정 없이 다운로드할 수 있습니다.
Let's Encrypt는 2025년 6월에 만료 안내 이메일 발송을 중단했고, 인증서의 유효 기간도 짧아지고 있으므로 갱신은 자동으로 이루어져야 합니다. 유효 기간의 약 3분의 2 시점(90일 인증서라면 60일째)에 갱신하거나, ACME Renewal Information(RFC 9773)으로 CA가 갱신 시점을 알려 주게 하세요.
인증서 유효 기간 · example-shop.com
$ echo | openssl s_client -connect example-shop.com:443 -servername example-shop.com 2>/dev/null | openssl x509 -noout -enddate
notAfter=Nov 30 07:11:59 2026 GMT
$ echo | openssl s_client -connect example-shop.com:443 -servername example-shop.com 2>/dev/null | openssl x509 -noout -checkend 2592000
Certificate will not expireSSL 인증서의 유효 기간이 짧아지는 이유는 무엇인가요?
브라우저와 CA가 투표로 정했기 때문입니다. CA/Browser Forum의 투표안 SC-081(2025년 4월)은 공인 TLS 인증서의 최대 유효 기간을 세 단계에 걸쳐 줄여, 유출된 키나 오래된 신원 정보가 더 빨리 효력을 잃게 합니다:
도메인 검증의 재사용 기간도 함께 줄어듭니다. CA가 완료된 도메인 검증을 재사용할 수 있는 기간은 지금은 200일, 2027년부터는 100일, 2029년 3월부터는 10일뿐이므로, 거의 매번 도메인을 다시 증명하게 됩니다.
Let's Encrypt는 자체 일정에 따라 더 앞서갑니다. 90일 인증서가 2027년 2월 10일에 64일, 2028년 2월 16일에 45일 인증서로 바뀌며, 6일짜리 인증서는 지금도 발급받을 수 있습니다. 이 도구에서 발급일 기준 최대치보다 길게 표시되는 인증서는 규정을 위반한 것입니다(Chrome은 이를 거부합니다).
- 2020년부터398일
- 2026년 3월 15일200일
- 2027년 3월 15일100일
- 2029년 3월 15일47일
1년에 한 번 수동으로 갱신하는 방식은 2026년 3월 15일부터 통하지 않게 되었습니다. ACME 클라이언트(Certbot, Caddy, 호스팅 업체의 AutoSSL)를 사용하고, 갱신이 실제로 이루어지는지 확인하세요.
SSL 체인 확인: 리프, 중간, 루트 인증서
브라우저가 사이트의 인증서를 신뢰하는 것은, 그 인증서에서 루트 저장소에 있는 루트 인증서까지 서명의 체인이 이어지기 때문입니다. 서버는 자신의 인증서와 중간 인증서를 보내야 하며, 루트 인증서는 이미 기기에 있습니다. 이 체인 검사 도구는 체인을 두 가지로 보여 줍니다. 서버가 보낸 그대로의 체인과, 각 저장소가 신뢰하는 루트까지 포함해 브라우저가 구성하는 체인입니다.
가장 흔한 실수는 중간 인증서 누락으로, 서버가 자신의 인증서만 보내는 경우입니다. Chrome은 보통 인증서에 적힌 주소(AIA)에서 누락된 인증서를 가져올 수 있고, Firefox는 CA가 CCADB에 공개한 중간 인증서를 미리 불러와 두므로 브라우저에서는 사이트가 정상으로 보입니다. 하지만 앱, API 클라이언트, curl 등의 도구는 그렇지 않은 경우가 많아 unable to get local issuer certificate 같은 오류로 실패합니다.
- 리프 인증서(사이트의 인증서)
- 주체 대체 이름(SAN)에 사이트 이름을 담고 서버의 공개 키를 보유합니다. 2026년 3월 15일 이후 발급된 인증서의 유효 기간은 최대 200일입니다.
- 중간 인증서
- 루트가 서명하고, 사이트의 인증서에 서명합니다. 덕분에 루트의 키는 오프라인으로 보관할 수 있습니다. 서버가 반드시 보내야 합니다.
- 루트 인증서
- 자체 서명된 인증서로, 브라우저나 운영체제가 루트 저장소에 넣어 배포하기 때문에 신뢰받습니다. 보내도 되지만 쓸모는 없습니다.
불완전한 체인 해결하기
- 1
인증서만이 아니라 CA가 제공한 전체 체인 파일(흔히 fullchain.pem 또는 ca-bundle)을 설치하세요. 결과의 '체인' 보기에서 올바른 번들을 다운로드할 수 있습니다.
- 2
nginx:
ssl_certificate는 인증서 뒤에 중간 인증서가 이어지는 하나의 파일을 가리켜야 합니다. - 3
Apache 2.4.8 이상:
SSLCertificateFile에 인증서 다음으로 중간 인증서를 넣으세요(이전 버전은SSLCertificateChainFile을 사용합니다). - 4
다시 확인하세요. 체인이 4개 저장소 모두에서 루트로 끝나고, 저희가 가져옴으로 표시된 인증서가 없어야 합니다.
신뢰 체인
- 사이트 인증서example-shop.comLet's Encrypt · DV · RSA 2048서버가 보냄
- 중간 인증서R13RSA 2048 · 2027년 3월까지서버가 보냄
- 루트ISRG Root X12035년 6월까지루트 저장소에서
- 루트 저장소모든 곳에서 신뢰
흔한 SSL 인증서 오류와 해결 방법
브라우저 경고의 의미와 검사 도구에 나타나는 내용입니다:
NET::ERR_CERT_DATE_INVALID
SEC_ERROR_EXPIRED_CERTIFICATE / MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE
인증서가 만료되었거나(또는 아직 유효하지 않거나) 기기의 시계가 잘못되었습니다.
인증서를 갱신해 새 인증서를 설치하고, 갱신을 자동화하세요. 검사 도구의 유효 기간 눈금자에 날짜가 표시됩니다.
NET::ERR_CERT_AUTHORITY_INVALID
SEC_ERROR_UNKNOWN_ISSUER / MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
체인이 신뢰할 수 있는 루트로 이어지지 않습니다. 자체 서명 인증서나 사설 CA 인증서이거나, 중간 인증서가 누락된 경우입니다.
공인 CA의 인증서를 전체 체인과 함께 설치하세요. 신뢰 체인에서 어디가 끊겼는지 확인할 수 있습니다.
NET::ERR_CERT_COMMON_NAME_INVALID
SSL_ERROR_BAD_CERT_DOMAIN
인증서에 접속한 사이트의 이름이 없습니다. 와일드카드는 한 단계에만 적용되므로 *.example.com은 example.com이나 a.b.example.com에 해당하지 않습니다.
www를 포함해 사이트가 응답하는 모든 이름을 담은 인증서를 발급받으세요.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
SSL_ERROR_NO_CYPHER_OVERLAP / SSL_ERROR_UNSUPPORTED_VERSION
브라우저와 서버가 공통으로 지원하는 프로토콜 버전이나 암호 스위트가 없습니다. 대개 서버가 TLS 1.0이나 오래된 암호만 제공하는 경우입니다.
TLS 1.2와 TLS 1.3을 AEAD 암호와 함께 활성화하세요. '프로토콜' 보기에 서버가 허용하는 항목이 나열됩니다.
서버는 어떤 TLS 버전을 지원해야 하나요?
TLS 1.3과 TLS 1.2만 지원하고, 그보다 오래된 버전은 지원하지 않아야 합니다. TLS 1.0과 1.1은 2021년 3월부터 공식적으로 사용 중단되었고(RFC 8996) 현재의 모든 브라우저가 거부하며, SSL 3.0은 이미 보안이 깨졌습니다. 현재 RFC 9846인 TLS 1.3은 더 빠르고(왕복 1회) 순방향 비밀성을 갖춘 AEAD 암호만 남겼습니다.
다음으로 눈여겨볼 부분은 키 교환입니다. Chrome, Firefox, Apple의 시스템은 이제 X25519와 양자 내성 ML-KEM(FIPS 203)을 결합하고 RFC 10024에서 TLS용으로 표준화된 하이브리드 방식인 X25519MLKEM768을 제공하므로, 오늘 기록된 트래픽을 미래의 양자 컴퓨터가 해독할 수 없습니다. 2025년 말에는 Cloudflare를 거치는 사람의 트래픽 중 절반 이상이 이를 사용했지만, 이를 허용하는 원본 서버는 아직 많지 않습니다. 내 서버가 지원하는지는 '프로토콜' 보기에서 확인할 수 있습니다.
SSL 등급은 어떻게 매겨지나요?
등급은 Qualys SSL Labs의 등급 가이드를 본떠 만들었습니다. 브라우저가 오류로 표시하는 문제가 있으면 그것으로 먼저 등급이 정해지고, 이어서 약한 설정마다 받을 수 있는 최고 등급이 제한됩니다.
| 등급 | 조건 |
|---|---|
| A+ | 감점 없는 A에 더해 TLS 1.3, 그리고 6개월 이상 유지되는 HSTS. |
| A | 신뢰할 수 있고, TLS 1.2와 1.3만 사용하며, 순방향 비밀성과 AEAD 암호를 갖춤. 메일 서버는 여기까지가 최고 등급입니다(HSTS는 웹사이트용). |
| A- | TLS 1.3이 없거나, 유효한 HSTS 헤더가 없는 웹사이트. |
| B | TLS 1.0, TLS 1.1 또는 RC4를 아직 허용하거나, 2048비트 미만의 키, 순방향 비밀성이나 AEAD가 없거나, 체인이 불완전함. |
| C | SSL 3.0이 켜져 있거나, 최신 클라이언트에도 3DES나 RC4가 선택되거나, TLS 1.2와 1.3을 모두 지원하지 않음. |
| F | 만료, 폐기, 수출 등급(export-grade) 암호, RC4만 지원, 또는 SSL 3.0이 최상위 프로토콜임. |
| T / M | 신뢰할 수 없음(T) 또는 다른 이름으로 발급됨(M): 설정과 관계없이 브라우저가 경고를 표시합니다. 문제를 해결하면 받을 등급도 함께 표시됩니다. |
HSTS, CAA, OCSP 등 나머지 설정
HSTS
Strict-Transport-Security헤더는 max-age초 동안 HTTPS만 사용하라고 브라우저에 알립니다. 기간을 1년 이상으로 하고 includeSubDomains와 preload를 지정하면 브라우저에 내장된 HSTS 프리로드 목록에 등록할 수 있습니다. 결과에서는 헤더와 목록을 모두 확인합니다.HTTP에서 HTTPS로
http://는 무엇보다 먼저 같은 이름의 https://로 리디렉션해야 합니다. 그렇지 않으면 첫 방문이 암호화되지 않은 채로 남습니다.
CAA 레코드
DNS의 CAA 레코드는 해당 도메인에 인증서를 발급할 수 있는 CA를 지정하며, 모든 공인 CA는 이를 확인해야 합니다. 결과에는 레코드와 함께 현재 인증서를 발급한 CA를 허용하는지가 표시되므로, 갱신이 실패하지 않게 할 수 있습니다.
폐기
2024년부터 CRL은 필수, OCSP는 선택이 되었고, Let's Encrypt는 2025년 8월에 OCSP 서비스를 종료했습니다. OCSP 주소가 없는 인증서는 정상이며, 이 경우 검사 도구는 CRL을 대신 확인합니다.
OpenSSL로 SSL 인증서 확인하기
같은 검사를 하는 openssl 명령어입니다. macOS, Linux, Windows(OpenSSL 설치 시)에서 사용할 수 있습니다. example.com 자리에 확인할 호스트를 넣으세요:
| 확인할 내용 | 명령어 |
|---|---|
| 서버가 보내는 체인 | openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null |
| 만료일 | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates |
| 30일 안에 만료되나요? | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -checkend 2592000 |
| 이름, 발급 기관, 키 | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -text |
| TLS 1.3을 허용하나요? | openssl s_client -connect example.com:443 -servername example.com -tls1_3 </dev/null |
| 메일 서버(STARTTLS) | openssl s_client -connect mail.example.com:587 -starttls smtp -servername mail.example.com </dev/null |
SSL 인증서 확인 API
CORS를 지원하는 무료 엔드포인트입니다. /api/ssl-certificate에 {"domain": "example.com"}을 POST로 보내면 이전 API의 필드를 받을 수 있으며, 이제 신뢰, 서명, 버전은 실제 값으로 제공되고 등급, 저장소별 판정, 폐기 상태도 추가되었습니다. 네트워크당 1분에 30회까지 확인할 수 있으며, 10분 안에 같은 확인을 반복하면 캐시에서 응답합니다.
$ curl -X POST https://dnsrobot.net/api/ssl-certificate \
-H "Content-Type: application/json" -d '{"domain": "github.com"}'
{
"success": true, "domain": "github.com",
"leafCertificate": { "daysToExpire": 39, "isValid": true, … },
"trustStatus": { "isTrusted": true, "hasValidChain": true, … },
"v2": { "state": "valid", "grade": "A+",
"stores": { "mozilla": true, "chrome": true, … }, … }
}SSL 인증서 확인 자주 묻는 질문
웹사이트의 SSL 인증서가 유효한지 어떻게 확인하나요?
SSL 인증서 만료일은 어떻게 확인하나요?
openssl x509 -noout -enddate를 실행하면 날짜가 출력됩니다. 2026년 3월 15일 이후 발급된 공인 인증서의 유효 기간은 최대 200일이므로 갱신은 자동으로 해야 하며, '기록' 보기에서 캘린더 알림도 다운로드할 수 있습니다.SSL 인증서 검증 사이트에서는 무엇을 검사하나요?
중간 인증서란 무엇이며, 체인이 불완전한 이유는 무엇인가요?
Chrome에서는 사이트가 열리는데 앱이나 다른 브라우저에서는 오류가 나는 이유는 무엇인가요?
2026년 SSL 인증서의 유효 기간은 얼마인가요?
SSL 등급 A+, A, B, T, M은 무슨 뜻인가요?
메일 서버나 다른 포트의 SSL 인증서도 확인할 수 있나요?
SSL 인증서가 폐기되었는지 어떻게 알 수 있나요?
내 웹사이트는 양자 컴퓨터로부터 안전한가요?
SSL과 TLS의 차이는 무엇인가요?
이 SSL 검사 도구는 무료인가요? 확인한 내용을 저장하나요?
부족한 점이 있습니까?기능 또는 새 도구 제안하기
더 많은 보안 및 DNS 도구
CSR·인증서 디코더
CSR 또는 SSL 인증서 디코딩: 주체, SAN, 키 크기, 유효 기간, 발급자, 지문, 서명 검증 및 CSR·인증서 일치 확인
CSR 생성기
브라우저에서 인증서 서명 요청(CSR)과 개인 키 생성: RSA 또는 ECDSA, SAN 추가 및 같은 요청의 OpenSSL 명령 제공
HTTP 헤더 검사
HTTP 응답 헤더 분석 및 보안 헤더 등급 평가
DNS 조회
도메인 자체 네임서버의 모든 DNS 레코드를 Google·Cloudflare 캐시와 나란히 확인
SMTP 테스트 도구
모든 메일 서버 테스트: STARTTLS, 인증서, AUTH, 오픈 릴레이
포트 확인
포트 연결 및 서비스 가용성 테스트