当前位置: 首页> 默认分类> 正文

Linux下检测SSL证书脚本

```bash

!/bin/bash

设置要检测的域名

domain="example.com"

使用openssl命令检测SSL证书

certificate_info=$(openssl s_client -servername $domain -connect $domain:443

从输出中提取证书信息

not_before=$(echo "$certificate_info" | grep "Not Before" | awk '{print $3}')

not_after=$(echo "$certificate_info" | grep "Not After" | awk '{print $3}')

打印证书的有效期

echo "SSL Certificate for $domain:"

echo "Not Before: $not_before"

echo "Not After: $not_after"

检查证书链

chain_status=$(echo "$certificate_info" | openssl x509 -noout -issuer -subject)

if [ -z "$chain_status" ]; then

echo "Certificate chain check failed."

else

echo "Certificate chain check passed."

fi

```

这个脚本首先使用`openssl s_client`命令与指定域名的服务器建立SSL连接,并获取证书信息。接着,它通过grep和awk从输出中提取证书的开始和结束有效期。最后,它利用`openssl x509`命令检查证书链的完整性。

请注意,实际部署时,您可能需要根据您的环境和具体需求对脚本进行适当的修改和调整。此外,确保您的系统上的`openssl`命令是最新版本,因为不同的版本可能会有功能上的差异。