본문 바로가기

리눅스

[WIP] OpenSSL 명령어로 SSL 인증서 도메인 및 만료일 확인하는 방법

728x90

OpenSSL 명령어로 SSL 인증서 도메인 및 만료일 확인하는 방법

1. SSL 인증서 파일 내용 전체 확인

서버에 저장된 인증서 파일(.crt, .pem)의 상세 내용을 확인합니다.

openssl x509 -in <cert_file> -text -noout

확인 가능한 주요 항목

  • Subject (도메인 정보)
  • Issuer (발급기관)
  • Validity (시작일 / 만료일)
  • Subject Alternative Name (SAN)
  • 공개키 정보
  • 서명 알고리즘

2. 인증서 파일에서 도메인 이름 및 만료일만 확인

필요한 정보만 간단히 출력하려면 아래 명령어를 사용합니다.

openssl x509 -in <cert_file> -noout -subject -enddate
$ openssl x509 -in /etc/ssl/certs/sangchul.kr.crt -noout -subject -enddate
subject=CN = sangchul.kr
notAfter=Mar 20 23:59:59 2024 GMT

항목 설명

  • subject : 인증서에 등록된 대표 도메인(CN)
  • notAfter : 인증서 만료일

3. 원격 서버의 SSL 인증서 확인

실제 서비스 중인 웹 서버에 적용된 인증서를 직접 확인할 수 있습니다.

openssl s_client -connect 도메인주소:포트번호
openssl s_client -connect www.sangchul.kr:443
HTTPS 기본 포트는 443 입니다.
728x90

4. 원격 서버 인증서의 도메인 및 유효기간만 출력

운영 환경에서는 아래 방식이 가장 많이 사용됩니다.

echo | openssl s_client -servername 도메인주소 -connect 도메인주소:포트번호 2>/dev/null | openssl x509 -noout -subject -dates
$ echo | openssl s_client -servername www.sangchul.kr -connect www.sangchul.kr:443 2>/dev/null | openssl x509 -noout -subject -dates
subject=CN = www.sangchul.kr
notBefore=Mar 19 00:00:00 2023 GMT
notAfter=Mar 19 23:59:59 2024 GMT

항목 설명

  • subject : 인증서 대표 도메인
  • notBefore : 인증서 시작일
  • notAfter : 인증서 만료일

5. SAN(Subject Alternative Name) 확인

최근 인증서는 CN보다 SAN 필드에 여러 도메인이 등록되는 경우가 많습니다.

openssl x509 -in /etc/ssl/certs/sangchul.kr.crt -text -noout | grep -A1 "Subject Alternative Name"
DNS:sangchul.kr, DNS:www.sangchul.kr

6. 인증서 만료일까지 남은 일수 확인 (운영 점검용)

openssl x509 -in /etc/ssl/certs/sangchul.kr.crt -noout -dates
echo | openssl s_client -servername www.sangchul.kr -connect www.sangchul.kr:443 2>/dev/null | openssl x509 -noout -dates

 

에코 | openssl s_client -서버 이름 www.sangchul.kr -connect www.sangchul.kr:443 2>/dev/null | openssl x509 -noout -dates
 
728x90