侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

shell脚本——检测SSL证书过期时间

2023-11-08 星期三 / 0 评论 / 0 点赞 / 51 阅读 / 3343 字

说明: 1、测试了阿里和又拍云的,虽然有某域名的证书了,但是输出结果却不是购买的证书信息,所以,如果有做cdn,则加host进行检测的,没有就无所谓了。 又拍云cdn测试信息 V

        说明:

                1、测试了阿里和又拍云的,虽然有某域名的证书了,但是输出结果却不是购买的证书信息,所以,如果有做cdn,则加host进行检测的,没有就无所谓了。

又拍云cdn测试信息

        Validity
            Not Before: Nov 14 00:00:00 2016 GMT
            Not After : Dec 12 23:59:59 2017 GMT
        Subject: C=CN, ST=zhejiang, L=hangzhou, O=Hangzhou Weiju Network Ltd., OU=/xE6/x8A/x80/xE6/x9C/xAF/xE9/x83/xA8, CN=*.upaiyun.com

                2、这里只是单域名检测,多域名,可以加上for循环。

                3、提醒方式,自由发挥。

Shell

#!/bin/bash

domain_name="statics.perofu.com"
ssl_port="443"
#no cdn
host="8.8.8.8 statics.perofu.com"

grep -q "${host}" /etc/hosts || echo "${host}" >> /etc/hosts


ping -c1 114.114.114.114 &> /dev/null
if [ $? -eq 0 ]
then

        ssl_date=$(echo |openssl s_client -connect ${domain_name}:${ssl_port} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'|openssl x509 -text)

        echo "${ssl_date}" | grep 'Subject: CN' | grep -q "${domain_name}"
        if [ $? -eq 0 ]
        then
                tmp_last_date=$(echo "${ssl_date}" | grep 'Not After :' | awk -F' : ' '{print $NF}')
                last_date=$(date -ud "${tmp_last_date}" +%Y-%m-%d" "%H:%M:%S)
                day_count=$(( ($(date -d "${last_date}" +%s) - $(date +%s))/(24*60*60) ))
                echo -e "/e[40;33;1m The [${domain_name}] out of date is : ${last_date} && [${day_count}] /e[0m"
        else
                echo -e "/e[40;31;1m check ssl info isn't the [${domain_name}] ,please check ... /e[0m"
        fi

else
        echo -e "/e[40;31;1m network is down ... /e[0m"
fi

shell输出结果

 The [statics.perofu.com] out of date is : 2018-05-10 23:59:59 && [343]

广告 广告

评论区