乐维社区
作者乐维社区·2023-04-20 15:44
研发工程师·广东乐维软件有限公司

Python小技巧:获取SSL证书到期时间

字数 876阅读 602评论 0赞 1

在前面的文章中曾介绍过如何通过 openssl命令获取 SSL证书的到期时间: 通过zabbix监控ssl证书到期时间

有人反馈实践中这种方式存在缺陷 , 可能会出现 部分域名证书无法获取 的情况 ,报错如下:

140323981043600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:707:Expecting: TRUSTED CERTIFICATE 0

接下来介绍另一种解决方式——通过python获取SSL证书到期时间,代码如下:

#!/bin/env python3 import ssl import socket import datetime import sys hostname = 'baidu.com' port = 443 context = ssl.create_default_context() with socket.create_connection((hostname, port)) as sock: with context.wrap_socket(sock, server_hostname = hostname) as sslsock: cert = sslsock.getpeercert() expiry_date_str = cert[ 'notAfter' ] expiry_date_obj = datetime.datetime.strptime(expiry_date_str, '%b %d %H:%M:%S %Y %Z' ) days_left = (expiry_date_obj - datetime.datetime.now()).days print (days_left)

模板制作方式在此不做描述,可参考之前的文章, 通过 zabbix监控ssl证书到期时间

以上就是这一期的分享内容。大家好,我是乐乐,专注运维技术研究与分享,关注我,了解更多运维小知识。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广