openssl x509命令可以对证书做很多操作,可以参考: https://blog.csdn.net/as3luyuan123/article/details/16873093
#!/bin/bash
# 检查证书文件一定天数内是否过期
USAGE="USAGE: sh $0 {check_dir} {expire_date}\neg: sh $0 /etc/nginx/ssl/ 30"
if [[ $# -ne 2 ]];then
echo -e ${USAGE}
exit 1
fi
check_dir=$1
if ! test -d ${check_dir};then
echo "check_dir必须为一个目录,表示检查的目录"
echo -e ${USAGE}
exit 2
fi
expire_date=$2 # 过期天数
if ! [[ ${expire_date} -gt 0 ]] 2>/dev/null;then
echo "expire_date必须为正整数,表示检查过期的天数"
echo -e ${USAGE}
exit 3
fi
crt_file_list=`ls -1 ${check_dir} | grep -E '\.crt$|\.pem$'` # 检查的文件列表
exit_code=0 # 退出状态码
# 遍历证书文件
for crt_file in ${crt_file_list};do
check_file=`echo ${check_dir}/${crt_file} | sed 's#//#/#g'`
if ! openssl x509 -in ${check_file} -checkend `expr 60 \* 60 \* 24 \* ${expire_date}` &> /dev/null; then
echo 证书文件:${check_file} 域名:`openssl x509 -in ${check_file} -noout -subject -nameopt multiline | grep commonName | awk -F"=" '{print $2}'` ${expire_date}天内过期
exit_code=4
fi
done
exit ${exit_code}
直接检测域名证书可以使用以下网站:
https://csr.chinassl.net/ssl-checker.html
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏