您的位置 首页 golang

golang获取ssl证书信息

简介

目前,很多网站都使用了https,证书的过期检查也是运维需要关注的地方,可以通过直接连接域名,获取证书信息,来判断是否已经更新了证书。

代码

 
package main
​
import (
    "crypto/tls"
    "fmt"
    "net"
    "os"
    "time"
)
​
func main() {
    args := os.Args
    usage := os.Args[0] + " [domain|ip]"
    if len(args) < 2 {
        fmt.Println(usage)
        os.Exit(0)
    }
    conn, err := tls.DialWithDialer(&net.Dialer{
        Timeout:  time.Second * 5,
        Deadline: time.Now().Add(time.Second * 9),
    }, "tcp", args[1], &tls. Config {
        InsecureSkipVerify: true,
    })
    if err != nil {
        fmt.Println(err)
        os.Exit(3)
    }
    defer conn. Close ()
    stats := conn.ConnectionState()
    certs := stats.PeerCertificates
    for i := range certs {
        fmt.Println(certs[i].DNSNames, certs[i].IPAddresses, certs[i].NotBefore, certs[i].NotAfter, certs[i].IsCA)
    }
}  

总结

替换证书虽然很简单,当时就怕遗漏,出现故障影响可就大了!

文章来源:智云一二三科技

文章标题:golang获取ssl证书信息

文章地址:https://www.zhihuclub.com/91237.shtml

关于作者: 智云科技

热门文章

网站地图