互联网安全越来越受到企业重视,https证书也成为各个公司必备,但是域名过多、系统复杂、证书不一致、过期给证书安装、替换增加了很大的困难,基于此,本文编写了证书检测程序,进行常态化监控证书情况

操作环境:python2.7

依赖包:ssl, socket

这里是关于证书的一个最新消息:

从2020年9月1日起,苹果系统、谷歌和火狐浏览器计划调整受信SSL证书的有效期策略,上述系统或浏览器中受信SSL证书的最长有效期将从825天缩短至398天。对此,各CA厂商也将缩短SSL证书的最长有效期。

脚本分为两个文件,一个域名配置文件、一个检测程序,

配置文件domain.txt,域名写入该配置文件,每行一个域名

www.xxx.com
123.xxx.com
1231.xxx.com
123.xxx.com

代码

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import ssl, socket
import json
import time
import datetimesocket.setdefaulttimeout(5)
def check_ssl(domain):try:hostname = domainc = ssl.create_default_context()s = c.wrap_socket(socket.socket(), server_hostname=hostname)s.connect((hostname, 443))cert = s.getpeercert()now_time = (datetime.datetime.now()+datetime.timedelta(days=3)).strftime("%b %d %H:%M:%S %Y GMT")now_times = time.mktime(time.strptime(now_time, "%b %d %H:%M:%S %Y GMT"))real_time=time.mktime(time.strptime(cert['notAfter'], "%b %d %H:%M:%S %Y GMT"))#比较证书是否过期if now_times < real_time:print "证书未过期"else:print "证书已过期,过期时间:"+cert['notAfter']#比较证书时间print cert['notAfter']+"--->"+hostname#假设Jul 01 12:00:00 2020 GMT到期if "Jul 01 12:00:00 2020 GMT" != cert['notAfter']:print "证书与预估时间不一致--->" + hostname +"<------"+ cert['notAfter']except Exception,err:print "Exception-->\n"+hostname+str(err)
if __name__ == '__main__':with open("/home/domain.txt", "r") as f:for line in f.readlines():line = line.strip('\n')check_ssl(line)

python之域名证书检测相关推荐

  1. python 批量域名证书过期查找(二),从阿里云导出后的文件夹中的excel查找

    python 读取文件夹中 从阿里云导出后的域名excel 判断域名 ssl 过期 import os import ssl import socket import requestsfrom ope ...

  2. shell脚本检查域名证书是否过期

    最近公司的域名准备过期了,防止用户访问的时候出现异常,所以最近我们准备替换相关网站证书为最新的. (一般HTTPS证书有效期为1年,证书过期后或者该证书不是该域名的有效证书时,在浏览器中访问会出现如下 ...

  3. localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控

    个人网站我一般使用 [Let's Encrypt](https://letsencrypt.org/) 的免费 CA 证书,当网站一多管理这些证书就显得比较麻烦,所以我非常希望有一个工具,能够将这些域 ...

  4. 阿里云SLB负载均衡与使用SSL域名证书

    阿里云SLB负载均衡与使用SSL证书 1.购买两台ECS服务器,这就是后台服务器,在这两个服务器上面部署你的网站,注意网站的端口要一样:比如都是 88. 2.在阿里云控制台的菜单里找到 负载均衡,创建 ...

  5. acme + acme-dns + google domains 签发泛域名证书

    acme + acme-dns + (google domains 或 cloudflare) 签发泛域名证书 1. acme.sh # 下载 curl https://get.acme.sh | s ...

  6. 使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书

    使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书 首先安装 Python 3 yum install -y python39 创建并激活虚拟环境 mkdir -p /mnt/cert ...

  7. Python 获取网站证书有效期

    Python获取网站证书有效期 Python获取网站证书有效期 python:OpenSSL和ssl python+shell:subprocess和curl Python获取网站证书有效期 由于某些 ...

  8. certbot泛域名证书申请

    前言 什么是Let's Encrypt? 目前世界上就只有为数不多的几家域名证书签发机构得到浏览器的认可,而Let's Encrypt 就是其中一家,并且你可以申请到免费的证书,当然你如果想要付费也行 ...

  9. oneinstack申请免费的R3 域名证书

    OneinStack 是知名 Linux 技术博客 LinuxEye 推出的一个可以一键安装 LNMP(Linux + NGINX + MySQL + PHP).LAMP(Linux + Apache ...

最新文章

  1. 分享一点python 编码设置的知识
  2. 深度卷积神经网络CNNs的多GPU并行框架 及其在图像识别的应用
  3. Access数据库如何批量操作呀 ?
  4. java移位操作符注意的问题
  5. 还在为DST模型刷不动而感到苦恼吗?来试试无监督DST吧,DSI等你来战!
  6. 将 Citavi 笔记按需要导出
  7. 两个问题,关于XP进程优化及SVSP虚拟存储平台
  8. C++中size_type类型详解
  9. 程序员因拒绝带电脑回家工作被开除!获赔19.4万元
  10. 给程序员的10条建议
  11. ​如何判断公司是否靠谱?
  12. c调用python keras模型_tensorflow中调用keras训练模型作为一个计算过程
  13. MD5,SHA-1,SHA-256摘要加解密
  14. 计算机漏洞为什么无法避免,雷电3接口漏洞影响数百万计算机:5分钟解锁设备,无法修复...
  15. 纯虚函数的类为什么不能被实例化
  16. A. Death Note
  17. 笔记本选购指南2020双十一
  18. vulnhub-2much
  19. Butterfly主题背景魔改
  20. 自动驾驶汽车如何识别红绿灯?三个角度告诉你答案丨曼孚科技

热门文章

  1. 使用 Nodejs 实现定时爬取微博热搜榜
  2. Linux学习笔记(二) 安装Fedora Linux
  3. 基于asp.net企业差旅管理系统-计算机毕业设计
  4. 黄鱼70块钱的wifi6路由器h3ctx1801plus刷梅林固件
  5. 不止腾讯、阿里, 大厂区块链人才稀缺, 这样的你太珍惜...
  6. 立创EDA学习2-绘制原理图(初级)
  7. LocalOS 0 1 1 版发布 内附本程序源码及Java版网游找CALL示例源码
  8. 【计算机图形学入门】笔记5:光栅化(三角形的离散化)
  9. java学生管理系统(swing) (没用数据库,附源码)
  10. Java class文件查看对应的JDK版本