首页 > 其他分享 >Golang:https证书有效期检测

Golang:https证书有效期检测

时间:2022-10-07 12:32:43浏览次数:79  
标签:有效期 证书 fmt 05 Golang cert https Printf NotBefore

原理:使用go提供的模块 crypto/tls,可以获取域名证书的信息,通过到期时间可以判断证书是否过期

package main

import (
    "crypto/tls"
    "fmt"
)

func main() {
    conn, _ := tls.Dial("tcp", "www.baidu.com:443", nil)
    cert := conn.ConnectionState().PeerCertificates[0]

    // 时间信息
    fmt.Printf("NotBefore: %v\n", cert.NotBefore)
    // NotBefore: 2022-07-05 05:16:02 +0000 UTC

    fmt.Printf("NotAfter: %v\n", cert.NotAfter)
    // NotAfter: 2023-08-06 05:16:01 +0000 UTC

    // 其他信息
    fmt.Printf("IPAddresses: %v\n", cert.IPAddresses)
    fmt.Printf("Version: %v\n", cert.Version)
    fmt.Printf("SerialNumber: %v\n", cert.SerialNumber)
    fmt.Printf("Issuer: %v\n", cert.Issuer)
    fmt.Printf("Subject: %v\n", cert.Subject)
}

Python实现的可视化工具:

Domain Admin:基于Python + Vue.js 技术栈实现的域名SSL证书监测平台

参考 使用go做一个https证书时间检测工具

标签:有效期,证书,fmt,05,Golang,cert,https,Printf,NotBefore
From: https://blog.51cto.com/u_13567403/5734412

相关文章