检查SSL证书是否有效的脚本

马丁·维格特(Martin Vegter)

我有几个SSL证书,并且证书过期后想通知我。

我的想法是创建一个cronjob,每天执行一个简单的命令。

我知道opensslLinux中的命令可用于显示远程服务器的证书信息,即:

openssl s_client -connect www.google.com:443

但我在此输出中看不到到期日期。另外,我必须用CTRL+终止此命令c

如何从脚本(最好使用openssl检查远程证书的到期时间,并在“批处理模式”下进行操作,以使其自动运行而无需用户交互?

混乱

您的命令现在将期望一个http请求GET index.php,例如。改用这个:

if true | openssl s_client -connect www.google.com:443 2>/dev/null | \
  openssl x509 -noout -checkend 0; then
  echo "Certificate is not expired"
else
  echo "Certificate is expired"
fi

  • true:只会在eof之后没有任何输入,因此openssl在连接后退出。
    • openssl ...:来自您问题的命令
    • 2>/dev/null:错误输出将被忽略。
  • openssl x509:激活X.509证书数据管理。
    • 默认情况下,这将从标准输入中读取
    • -noout:禁止整个证书输出
    • -checkend 0:检查证书在接下来的0秒内是否过期

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章