Golang 获取https证书信息、过期信息

依然范儿特西
2021-09-01 / 0 评论 / 24 阅读 / 正在检测是否收录...
package main

import (
    "crypto/tls"
    "fmt"
    "net/http"
)

func main() {
    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    client := &http.Client{Transport: tr}

    seedUrl := "https://richerdyoung.com"
    resp, err := client.Get(seedUrl)
    defer resp.Body.Close()

    if err != nil {
        fmt.Errorf(seedUrl," 请求失败")
        panic(err)
    }

    //fmt.Println(resp.TLS.PeerCertificates[0])
    certInfo:=resp.TLS.PeerCertificates[0]
    fmt.Println("过期时间:",certInfo.NotAfter)
    fmt.Println("组织信息:",certInfo.Subject)

}

运行结果

过期时间: 2021-09-02 07:27:20 +0000 UTC
组织信息: CN=www.richerdyoung.com
1

评论 (0)

取消