[转帖]https证书过期时间查询脚本

https,证书,过期,时间,查询,脚本 · 浏览次数 : 0

小编点评

**generate_content.sh** ```bash #!/bin/bash # Set file path and names file="$1" expire_result="info.log" domain_list="list.txt" # Functions # Clean up existing files rm -rf ./$expire_result ./$domain_list ./res_${file} # Get domain name from file get_domain() { suffix=$(cat "$file" | awk '{print $1}' | awk -F. '{print $(NF-1)}' | awk 'NR==1{print $1}') cat "$file" | egrep -v "^\_" | awk '{print $1}' | sed "s/${suffix}./${suffix}/g" | sort -k2n | awk '{if ($0!=line) print;line=$0}' > list.txt } # Get expire time from file get_expire() { log="./$expire_result" for Domain in `cat $domain_list` do Port_List=$(nmap -Pn -T 5 $Domain | grep -w "open" | awk -F'/' '{print $1}'`) echo "--- $Domain ---" | tee >> $log echo "open port: `echo $Port_List`" | tee >> $log for Port in $Port_List do Info=$(openssl s_client -servername $Domain -connect $Domain:$Port < /dev/null | openssl x509 -noout -dates -subject) if [ -z "$Info" ]; then echo "Port $Port SSL is not enabled" | tee >> $log continue else echo "Port $Port SSL is enabled" | tee >> $log fi StartTime=$(echo "$Info" | awk -F'=' '{print $2}'|awk '{$NF=\"\";print $0}'|xargs -I {} date '+%Y-%m-%d' --date {}') EndTime=$(echo "$Info" | awk -F'=' '{print $3}'|awk '{$NF=\"\";print $0}'| xargs -I {} date '+%Y-%m-%d' --date {}') Domain_Name=$(echo "$Info" | awk -F'=' '{print $5}'") echo " $Domain:$Port SSL domain: $Domain_Name" | tee >> $log echo " $Domain:$Port SSL StartTime: $StartTime" | tee >> $log echo " $Domain:$Port SSL EndTime: $EndTime" | tee >> $log done done } # Get IP address from file get_ip() { for domain in `cat ./$expire_result | grep "EndTime: $expire" | awk '{print $1}' | awk -F: '{print $1}'` do while read line; do echo "$line" | grep $domain if [ $? -eq 0 ]; then ip=$(echo "$line" | awk '{print $5}') cat res_${file} | grep $ip if [ $? -ne 0 ]; then echo "$ip >> res_${file}" fi fi done < $file done } # Start functions get_domain() get_expire get_ip startget_domainget_expireget_ip start ``` **Usage:** 1. Replace `file` with the actual file name you want to generate content for. 2. Run the script: `./generate_content.sh` **Output:** The script will generate a file named `ip_${file}` containing the IP addresses of the domains mentioned in the input file.

正文

https://www.cnblogs.com/fengzi7314/p/16744750.html

 

复制代码
file=$1
expire=$2
domain_list="list.txt"
expire_result="info.log"
function start() {
    rm -rf ./$expire_result ./$domain_list ./res_${file}
}
function get_domain() {
    suffix=$(cat $file | awk '{print $1}' | awk -F. '{print $(NF-1)}' | awk 'NR==1{print $1}')
    cat $file | egrep -v "^_" | awk '{print $1}' | sed "s/${suffix}./${suffix}/g" | sort -k2n | awk '{if ($0!=line) print;line=$0}' > list.txt
}
function get_expire() {
    log=./$expire_result
    for Domain in `cat $domain_list`
    do
        Port_List=`nmap -Pn -T 5 $Domain |grep -w "open" |awk -F'/' '{print $1}'`
        echo "--- $Domain ---" | tee >> $log
        echo "open port: `echo $Port_List`" | tee >> $log 
        for Port in $Port_List
        do
            Info=`openssl s_client -servername $Domain -connect $Domain:$Port < /dev/null | openssl x509 -noout -dates -subject`
            #If SSL is not turned on, the loop exits
            if [ -z "$Info" ]
            then
                echo "Port $Port SSL is not enabled" | tee >> $log
                continue
            else
                echo "Port $Port SSL is enabled" | tee >> $log
            fi
            StartTime=`echo $Info| awk -F'=' '{print $2}'|awk '{$NF="";print $0}'|xargs -I {} date '+%Y-%m-%d' --date {}` 
            EndTime=`echo $Info | awk -F'=' '{print $3}'|awk '{$NF="";print $0}'| xargs -I {} date '+%Y-%m-%d' --date {}` 
            Domain_Name=`echo $Info | awk -F'=' '{print $5}'`
            echo "  $Domain:$Port SSL domain: $Domain_Name" | tee >> $log
            echo "  $Domain:$Port SSL StartTime: $StartTime" | tee >> $log  
            echo "  $Domain:$Port SSL EndTime: $EndTime" | tee >> $log  
        done
    done
}

function get_ip() {
    for domain in `cat ./$expire_result | grep "EndTime: $expire" | awk '{print $1}' | awk -F: '{print $1}'`
    do
        while read line 
        do 
            echo $line | grep $domain
            if [ $? -eq 0 ];then
                ip=$(echo $line | awk '{print $5}')
                cat res_${file} | grep $ip
                if [ $? -ne 0 ];then
                    echo $ip >> res_${file}
                fi
            fi
        done < $file
    done             
}

#function get_result() {
#    sort -k2n res_${file} | awk '{if ($0!=line) print;line=$0}' > ip_${file}
#}

start
get_domain
get_expire
get_ip

与[转帖]https证书过期时间查询脚本相似的内容:

[转帖]https证书过期时间查询脚本

https://www.cnblogs.com/fengzi7314/p/16744750.html file=$1 expire=$2 domain_list="list.txt" expire_result="info.log" function start() { rm -rf ./$expi

[转帖]录制脚本时,提示证书过期;页面提示代理错误;提交商品时一直是加载中或者提示图片上传失败

`https://blog.csdn.net/wj494224911/category_6367531.html` 1、录制脚本时,提示证书过期 是因为jmeter代码只有1周有效期,只需要将firefox的jemter证书先删除,再导入即可 2、打开firefox浏览器,提示代理错误 是因为fir

[转帖]检测证书过期脚本

https://www.cnblogs.com/zisefeizhu/p/13640250.html 前提 总是后知后觉,总是后知后觉。目前的现状是不论出现什么问题,都无法进行提前预警和在客户未知前介入处理。早上偶然和研发经理交流时突发灵感,写下此脚本,试图以此为开始进行提前的预警。 从生产k8s集

[转帖]vCenter使用 VMCA 续订证书:续订证书时发生意外错误

https://www.dinghui.org/vcenter-sts-certificate.html 起因:有一处客户vCenter告警:STS签名证书即将过期。 处理办法:系统管理-证书-证书管理,选择STS证书,操作,使用vCenter证书刷新; 强制刷新,即可。 提示重启,重启后,STS证

[转帖]解决vCenter6.x由于证书过期问题无法登录

https://www.dinghui.org/vcenter-sts-certificate.html#:~:text=%E8%BF%99%E6%97%B6%E5%80%99%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E6%98%AF%E9%81%87%E5%88%B

[转帖]VCSA证书过期问题处理

1. 故障现象 2022年10月25日,登陆VC报错。 按照报错信息,结合官方文档,判断为STS证书过期导致。 vCenter Server Appliance (VCSA) 6.5.x, 6.7.x or vCenter Server 7.0.x 在/var/log/vmware/vpxd-svc

[转帖]VCSA6.7证书过期后的处置方法

0x00 环境说明 一台测试的ESXI主机,元旦之后已然发现证书已过期,具体现象:VCenter无法登录,一直提示输入用户名和密码,ESXI主机web页面无法登录。重启VC以后,报故障503错误。 /Action = Allow Pipname = /var/run/vmware/vpxd-webs

[转帖]VMware vCenter证书过期解决方法

https://www.yii666.com/blog/395521.html vCenter证书过期解决方法 目录 1 概述 2 详细操作步骤 2.1 检查关键的STS证书是否过期并修复 2.2 检查除STS证书外是否还有其余证书过期 2.3 续订除STS和data-encipherment以外的

[转帖]k8s证书永不过期

https://www.cnblogs.com/fengzi7314/p/15909220.html 第一步,在github上下载对应的版本,我的是1.22版本,所以选的是1.22版本 第二步,下载到本地解压 第三步,进入目录编辑文件,修改为100年 cd kubernetes-1.22.0/ vi

[转帖]SpringBoot配置SSL 坑点总结【密码验证失败、连接不安全】

文章目录 前言1.证书绑定问题2.证书和密码不匹配3.yaml配置文件问题3.1 解密类型和证书类型是相关的3.2 配置文件参数混淆 后记 前言 在SpringBoot服务中配置ssl,无非就是下载证书设置一下配置文件的问题,这里主要记录我在配置的过程中遇到的坑点。 如果是新手上道的话建议结合其他的