【问题标题】:Programmatically check a website's SSL certificate for expiration以编程方式检查网站的 SSL 证书是否过期
【发布时间】:2013-10-10 22:33:28
【问题描述】:

如何使用通用脚本语言(如 python、ruby 或 bash)来完成这项工作?即,我想编写一个脚本,该脚本将返回“有效”或“过期”结果。看起来带有s_client 选项的openssl 程序可能能够做到这一点,或者返回可以检查的结果。

啊哈哈:默认情况下,curl 会验证网站的证书。如果过期,它会返回这样的消息:

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

不是很具体,但很明显存在证书失败。它链接到此页面以获取信息:http://curl.haxx.se/docs/sslcerts.html

【问题讨论】:

    标签: python ruby ssl https tdd


    【解决方案1】:

    我发现ruby bindings for libcurl 可以做一个非常普遍的测试:

    $ gem install curb
    $ pry
    [1] pry(main)> require 'curl'
    => true
    [2] pry(main)> Curl.get('https://site-with-expired-cert.com')
    Curl::Err::SSLCACertificateError: Curl::Err::SSLCACertificateError
    from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/curb-0.8.5/lib/curl/easy.rb:62:in `perform'
    [3] pry(main)> Curl.get('https://github.com')
    => #<Curl::Easy https://github.com>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      相关资源
      最近更新 更多