python 测试SSL证书的到期时间。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 测试SSL证书的到期时间。相关的知识,希望对你有一定的参考价值。


"""
    Test validity of certificates.

    Tested on Ubuntu with Python 3.5 and python3-openssl package.
"""

import ssl
from datetime import datetime
from warnings import warn
import OpenSSL


def test_days_to_expiry(host='www.bluewin.ch', port=443):
    cert = ssl.get_server_certificate((host, port))
    x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
    exp = x509.get_notAfter().decode('utf8')  # Usually in format b'20200208104801Z'
    if exp.endswith('Z'):
        exp = exp[:-1]
    then = datetime.strptime(exp, '%Y%m%d%H%M%S')
    time_left = then - datetime.now()

    # Test harness
    assert time_left.days > 0

    # Comfort functions
    if time_left.days < 30:
        serial = x509.get_serial_number()
        warn('Certificate {} for {} expires in {} days.', serial, host, time_left.days)

    return time_left.days

以上是关于python 测试SSL证书的到期时间。的主要内容,如果未能解决你的问题,请参考以下文章

如何检查网站SSL证书有没有到期?

如何从 PEM 编码证书中确定 SSL 证书到期日期?

SSL数字证书到期之后该怎么做?

zabbix监控ssl证书到期时间

如何从证书文件本身(.p12)确定 SSL 证书到期日期

如何在 Java 中以编程方式检查 SSL 证书到期日期