Python:获取ssl证书信息和到期时间

简介: Python:获取ssl证书信息和到期时间

1、通过证书获取

openssl x509 -in <cert>.pem -noout -dates

2、通过域名获取

echo | openssl s_client -servername <doman> -connect <doman>:443 2>/dev/null | openssl x509 -noout -dates

3、通过脚本获取

# coding: utf-8 
# 查询域名证书到期情况
import re
import subprocess
from datetime import datetime
def get_re_match_result(pattern, string):
    match = re.search(pattern, string)
    return match.group(1)
def parse_time(date_str):
    return datetime.strptime(date_str, "%b %d %H:%M:%S %Y GMT")
def format_time(date_time):
    return datetime.strftime(date_time, "%Y-%m-%d %H:%M:%S")
def get_cert_info(domain):
    """获取证书信息"""
    cmd = f"curl -Ivs https://{domain} --connect-timeout 10"
    exitcode, output = subprocess.getstatusoutput(cmd)
    # 正则匹配
    start_date = get_re_match_result('start date: (.*)', output)
    expire_date = get_re_match_result('expire date: (.*)', output)
    # 解析匹配结果
    start_date = parse_time(start_date)
    expire_date = parse_time(expire_date)
    return {
        'start_date': start_date,
        'expire_date': expire_date
    }
def get_cert_expire_date(domain):
    """获取证书剩余时间"""
    info = get_cert_info(domain)
    print(info)
    expire_date = info['expire_date']
    # 剩余天数
    return (expire_date - datetime.now()).days
if __name__ == "__main__":
    domain = 'www.baidu.com'
    expire_date = get_cert_expire_date(domain)
    print(expire_date)

参考

查看域名https证书到期时间

基于python检查SSL证书到期情况代码实例

相关文章
|
网络安全 Python
Python:获取ssl证书信息和到期时间
Python:获取ssl证书信息和到期时间
677 0
|
网络协议 应用服务中间件 网络安全
小白必看:阿里云SSL证书免费申请流程,免费3个月到期解决方法
2024年阿里云提供免费SSL证书申请服务,品牌为Digicert,支持免费单域名证书,每个账号可申请20张,有效期3个月。用户需登录阿里云数字证书管理服务控制台,完成证书申请、域名绑定及DNS验证等步骤,操作简便快捷。更多详情见阿里云官网。
|
安全 算法 应用服务中间件
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 【可验证】 详细描述TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
10477 2
|
存储 监控 安全
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
|
监控 Linux 网络安全
Domain Admin域名和SSL证书过期监控到期提醒
用于解决,不同业务域名SSL证书,申请自不同的平台,到期后不能及时收到通知,导致线上访问异常,被老板责骂的问题。同时,Domain Admin也是一个轻量级监控方案,占用系统资源较少,安装包仅1.5 MB。基于Python3 + Vue3.js 技术栈实现的域名和SSL证书监测平台。支持证书:单域名证书、多域名证书、通配符证书、IP证书、自签名证书。通知渠道:支持邮件、Webhook、企业微信、钉钉、飞书等通知方式。证书部署: 单一主机部署、多主机部署、动态主机部署。的过期监控,到期提醒。
1054 3
Domain Admin域名和SSL证书过期监控到期提醒
|
安全 网络安全 Apache
服务器漏洞修复之SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
服务器漏洞修复之SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
10666 0
|
监控 机器人 网络安全
一个脚本实现 SSL 证书到期监控,微信通知,太强了!
一个脚本实现 SSL 证书到期监控,微信通知,太强了!
397 0
一个脚本实现 SSL 证书到期监控,微信通知,太强了!
|
人工智能 网络协议 应用服务中间件
Hexo博客SSL证书到期,该如何免费续期更换?
Hexo博客SSL证书到期,该如何免费续期更换?
|
监控 JavaScript 小程序
监控:实现 SSL 证书到期,微信通知
监控:实现 SSL 证书到期,微信通知
监控:实现 SSL 证书到期,微信通知