ssl证书到期时间查询方法

目录

 

1.在浏览器上直接查看

2.通过openssl查看

3.通过s_client 获取证书过期剩余天数


1.在浏览器上直接查看

2.通过openssl查看

由于我服务端是搭建在 Centos 上,所以用 xshell 或者 putty 工具登录后,进入证书目录,使用 openssl 命令进行查看:

# cd /usr/local/nginx/conf/certs

# openssl x509 -in xxxx.crt -noout -dates

上面改成你自己证书的所在目录,证书名称也改成你自己服务端上证书的名称。

3.通过s_client 获取证书过期剩余天数

在维护https证书的时候,容易遗漏。最完整的方式是通过解析中获取所有A记录和cname记录。

从云解析中导出所有主机记录,保存到文件domain_ssl.info:

# cat domain_ssl.info 
dev
test
logs
falcon
sonar
k8s-prd
k8s-test
sales
database-xxl-job
callback.dev
k8s-grafana
yapi

通过s_client 获取证书过期剩余天数,组装成https://www.xxx.com地址格式

#  cat check2.sh 
script_dir=$( cd "$( dirname "$0"  )" && pwd )
script_name=$(basename ${0})

readFile="${script_dir}/domain_ssl.info"
grep -v '^#' ${readFile} | while read line;do # 读取存储了需要监测的域名的文件
    # echo "${line}"
    https_url=$line.xxx.com:443
    url=$line.xxx.com
    get_domain=$(echo "${line}" | awk -F ':' '{print $1}')
    get_port=$(echo "${line}" | awk -F ':' '{print $2}')

    # echo ${get_domain}
    # echo "${get_port}"
    # echo "======"
    echo $https_url
    echo $url
    curl  --connect-timeout 1  $https_url
    co=`echo $?`
    if [ $co = 0 ];then
        # 使用openssl获取域名的证书情况,然后获取其中的到期时间
        END_TIME=$(echo | openssl s_client -servername ${url}  -connect ${https_url} 2>/dev/null | openssl x509 -noout -dates |grep 'After'| awk -F '=' '{print $2}'| awk -F ' +' '{print $1,$2,$4 }' )


        END_TIME1=$(date +%s -d "$END_TIME") # 将日期转化为时间戳
        NOW_TIME=$(date +%s -d "$(date | awk -F ' +'  '{print $2,$3,$6}')") # 将当前的日期也转化为时间戳

        RST=$(($(($END_TIME1-$NOW_TIME))/(60*60*24))) # 到期时间减去目前时间再转化为天数

        echo "${RST}"
        echo "https://${url}, 证书过期时间是${END_TIME}, 剩余过期${RST}天过期" >> ssl_time.txt
    fi     
done

从云解析中获取的https地址列表如下,再进行证书替换

# cat ssl_time.txt 
https://test.xxx.com, 证书过期时间是Oct 29 2019, 剩余过期-249天过期
https://falcon.xxx.com, 证书过期时间是, 剩余过期0天过期
https://sonar.xxx.com, 证书过期时间是Sep 23 2020, 剩余过期81天过期
https://k8s-prd.xxx.com, 证书过期时间是Apr 23 2021, 剩余过期293天过期
https://callback.dev.xxx.com, 证书过期时间是Sep 23 2020, 剩余过期81天过期
https://yapi.xxx.com, 证书过期时间是Sep 23 2020, 剩余过期81天过期

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值