https 证书过期检测
公司有N个域名,证书到期时间也不一致,有些域名使用的是免得的Let's Encrypt,监控证书到期时间就比较重要。
vim urls.txt
www.xxx.com 项目名称
xxx.xxx.xxx 项目名称
安装模块:
pip install pyopenssl
pip install yagmail #邮件模块有很多,根据个人喜好。#/usr/bin/env python3
# -*- coding:utf-8 -*-
from urllib3.contrib import pyopenssl as req
from datetime import datetime
import yagmaildef get_domain_list():objlist=[]with open('urls.txt','r') as f:for i in f:objlist.append({'domain':i.split()[0],'tag':i.split()[1]})return objlistdef get_expire_time(url):sslc=req.OpenSSL.crypto.load_certificate(req.OpenSSL.crypto.FILETYPE_PEM,req.ssl.get_server_certificate((url,443)))ca_date=sslc.get_notAfter().decode()[0:-1] #取出证书有效日期return datetime.strptime(ca_date,'%Y%m%d%H%M%S')def send_mail(expire_list):user = 'xxx@126.com' #邮箱地址password = 'xxxxx' #密码# 126邮箱host = 'smtp.126.com' #SMTP地址to = 'xxx@xxx.com' #收件箱名称subject = 'ssl 证书过期告警'd = ''for i in expire_list:d += '''\<tr><td align="center">''' + str(i['domain']) + '''</td><td align="center">''' + str(i['remain']) + '''</td><td align="center">''' + str(i['tag']) + '''</td></tr>
'''html = '''\
<table width="70%" border="1" bordercolor="black" cellspacing="0" cellpadding="0"><tr><td width="140" align="center" ><strong>域名</strong></td><td width="110" align="center" ><strong>剩余天数</strong></td><td width="110" align="center" ><strong>项目名称</strong></td></tr>
'''+ d +'''</table>'''html = html.replace("\n", "")yag = yagmail.SMTP(user = user, password = password, host = host)yag.send(to = to, subject = subject, contents = html)
if __name__=='__main__':check_days=30 #域名到期前30天domail_list=get_domain_list()for i in domail_list:remain_days=(get_expire_time(i['domain']) - datetime.now()).daysi['remain'] = remain_daysexpire_domain_list=[i for i in domail_list if i['remain'] <= check_days]if (len(expire_domain_list) !=0):send_mail(expire_domain_list)
最后加到crontab 里就可以。
送您一个最高1000元的阿里云大礼包,快来领取吧~
https 证书过期检测相关推荐
- Golang:https证书有效期检测
原理:使用go提供的模块 crypto/tls,可以获取域名证书的信息,通过到期时间可以判断证书是否过期 package mainimport ("crypto/tls"" ...
- 使用zabbix-agent2自定义插件获取https证书过期时间
需求 对经常维护网站的人来说,要经常跟https的证书打交道.一般https证书的有效期是一年,证书一旦过期,公司的损失会非常大.去年网易邮箱因为https证书忘记续期,导致大量用户无法正常使用邮箱就 ...
- curl证书过期_centos7内核升级及curl访问https证书过期处理
centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...
- Android https证书过期,Android 的 HTTPS 证书过期异常
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 对于 HTTPS 服务器证书过期的问题,由于 Android 安全库的不断更新,尽管在证书验证的时候抛出的异常大同小异, ...
- https证书过期时间应该怎么处理
在遇到问题的时候,我们首先应该想到的是如何去解决这个问题,而且对于问题的解决方式也应该有一定的了解,或者说是出现这个问题的时候会有一个什么样的结果呈现,了解了这两种情况之后我们才能结合具体的问题进行解 ...
- 解决HTTPS证书安全检测时提示 PCI DSS 不合规问题
解决HTTPS证书安全检测时提示 PCI DSS 不合规问题 今天在进行HTTPS证书安全检测时,提示PCI DSS不合规.经查询得知是因为SSL配置时启用了TLS1.0导致的. 关于 PCI DSS ...
- Android Https证书过期解决方案
2022.11.08 18:09:12 应该有很多小伙伴遇到这样一个问题,在线上已发布的app里,关于https的cer证书过期,从而导致app所有网络请求失效无法使用. 这个时候有人就要说了 ...
- https 证书过期问题排查
一.问题描述 在服务协议由 http 迁移至 https 时,我发现线上环境报错 javax.net.ssl.SSLHandshakeException: sun.security.validator ...
- HTTPS证书过期|SSL证书过期 |华硕路由器| NAS|Certtificate is not valid
1.问题描述 使用DDNS 访问内网的nas时,会有个https的证书问题. 可以用let's encrypt的免费证书解决.但是三个月到期之后需要续签,不然谷歌浏览器chrome会提示风险: You ...
最新文章
- java 音乐api接口_关于网易云音乐爬虫的api接口?
- linux向上翻页_linux学习基础篇——文件管理(一)
- 【vue2.0进阶】案例:用Vuex实现一个简单的计算器
- Part Ⅳ Shopping 购物??
- Redis集群Windows
- tortoisegit pull 远程拉取代码,提示需要密码
- Windows11 专业版 体验分享
- 代理模式---论坛权限控制代理
- 阿弥陀佛么么哒 - 笔记
- 2021最后一个月了,你找到带回家的那个她了吗?送你999朵玫瑰。
- 初识计算机网络||概述
- 企业微信H5登录流程,以及遇到的问题解决
- springcloud-alibaba-sentinel(1)sentinel流量卫兵介绍
- selenium登录某宝跳过反爬监测及滑块验证
- 伊犁哈萨克自治州谷歌高清卫星地图下载
- spss下载过程中无法解压的问题
- 搭建vue3项目+ts
- TCP丢包原因、解决办法
- Django开发日记(前后端不分离,使用Templates模板)
- Vector BLF格式转ASC格式软件 QT+C++编写
热门文章
- Excel文件打开时提示连接被禁用却找不到连接
- querylist.php下载,下载QueryList
- php querylist 404,Querylist批量采集碰到404咋办
- simditor图标不显示
- 动态加载laydate 失效_【技术帖】弹簧制动缸支架失效分析与解决方案
- LWIP (1.1) ETH Module以太网模块
- Android 电话的反射调用机制实现自动接听电话
- 大数据在职研究生哪个好_报考大数据在职研究生未来的就业的方向有哪些
- 蓝桥杯大赛决赛整理合集(B组C/C++)
- 匆匆(朱自清)你聪明的,告诉我,我们的日子为什么一去不复返呢?