這篇文章主要介紹了Golang怎么實現(xiàn)https證書有效期檢測的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Golang怎么實現(xiàn)https證書有效期檢測文章都會有所收獲,下面我們一起來看看吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蒲縣網(wǎng)站建設(shè)、蒲縣做網(wǎng)站、蒲縣網(wǎng)站設(shè)計、蒲縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、蒲縣企業(yè)網(wǎng)站模板建站服務(wù),10余年蒲縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
原理:使用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) }
關(guān)于“Golang怎么實現(xiàn)https證書有效期檢測”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Golang怎么實現(xiàn)https證書有效期檢測”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。