自动检测SSL/TLS证书的有效期限,包括证书到期时间、剩余有效天数等信息,并在证书即将过期时进行告警提醒,避免因证书过期导致服务不可用。
介绍如何使用 OpenSSL 命令行工具快速查看 SSL/TLS 证书的生效与过期时间,并可以生成任务,自动发邮件提醒。

下面以本站为例,查看www.forasp.cn ssl证书的过期时间。
1. 常规网页上查看ssl证书过期时间
查看ssl证书有效期
查看ssl证书有效期
查看ssl证书有效期

2. 通过命令行查看ssl证书过期时间

shell命令,通过 openssl 进行检查。一般linux 默认都会安装。
如果没有安装
linux:sudo apt update && sudo apt install openssl libssl-dev
mac:brew install openssl@3
windows : 到 https://slproweb.com/products/Win32OpenSSL.html 下载 MSI 安装,安装后通过命令 openssl version 测试
 
linux / mac 查询命令:

echo | openssl s_client -servername www.forasp.cn -connect www.forasp.cn:443 2>/dev/null | openssl x509 -noout -dates

windows 不安装任软件查看https ssl证书有效期何命令

$tcp = New-Object Net.Sockets.TcpClient("www.forasp.cn", 443)
$ssl = New-Object Net.Security.SslStream($tcp.GetStream(), $false)
$ssl.AuthenticateAsClient("www.forasp.cn")
$cert = $ssl.RemoteCertificate
Write-Host "生效时间: $($cert.NotBefore)"
Write-Host "过期时间: $($cert.NotAfter)"
$ssl.Close(); $tcp.Close()

windows 安装openssl 查询命令:

echo. | openssl s_client -servername www.forasp.cn -connect www.forasp.cn:443 2>nul | openssl x509 -noout -dates