-
python 으로 SSL 만료기간 체크python/기타 2021. 12. 8. 18:25
다양한 사이트를 제작하는 일을 하다보니 SSL 만료기간을 고객쪽에서 놓치는 경우가 있다.
도메인 만료기간 체크처럼 SSL 도 만료기간을 체크할 수 있다.
import time from datetime import datetime import ssl, socket def getCertification(): try: domain = 'aaa.co.kr:443' host, port = domain.split(":") port = int(port) context = ssl.create_default_context() conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=host) conn.connect((host, port)) cert = conn.getpeercert() if not [x[1] for x in cert["subjectAltName"] if x[1] == host]: # Host not found return "host not found" else: startdate = datetime.strptime(cert["notBefore"], "%b %d %H:%M:%S %Y %Z") startDateTimeStamp = time.mktime(startdate.timetuple()) expire_date = datetime.strptime(cert["notAfter"], "%b %d %H:%M:%S %Y %Z") expireDateTimeStamp = time.mktime(expire_date.timetuple()) nowdate = datetime.now() start_in = nowdate - startdate expire_in = expire_date - nowdate return {'startDateTimeStamp' : int(startDateTimeStamp), 'expireDateTimeStamp' : int(expireDateTimeStamp) , 'leftDays' : expire_in.days} except Exception as e: return str(e)
domain 은 https://aaa.co.kr 이런 형태가 아닌 aaa.co.kr:443 이런 형태로 지정해야 한다.
대부분의 ssl 이 443 을 사용하지만 443 이 아닌 포트를 사용시 사용중인 포트명을 기재하면 된다.
도메인 만료기간과 마찬가지로 주기적으로 ssl 만료기간을 체크해서 관리자에게 알림을 주면 된다.
- 끝 -
반응형'python > 기타' 카테고리의 다른 글
발로 누르는 키보드 / 발판 키보드 제작 (0) 2022.11.21 python 으로 도메인 만료기간 체크 (0) 2021.12.08 Python 에서 ADB 제어하기 - 2 ( 연결 ) (0) 2021.12.07 Python 에서 ADB 제어하기 - 1 (0) 2021.12.07 python 으로 웹페이지 전체 캡춰(스크롤 캡춰) 하기 (0) 2021.11.25