1 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
正如@James 所指出的,這IP
是 TLS 握手的一個(gè)無關(guān)組件。
雖然標(biāo)準(zhǔn)程序是:
撥號主機(jī)名/端口
DNS查找主機(jī)名獲取IP
帶 IP 的 TLS 握手
揭示主機(jī)名證書身份
驗(yàn)證證書名稱與主機(jī)名匹配
使用InsecureSkipVerify: true
跳過最后一步 - 通常只在開發(fā)/測試期間使用。
但是,您可以在最后一步中使用不同的名稱來匹配證書身份:利用tls.ConfigServerName
中的字段:
tc = &tls.Config{
ServerName: "myhostname", // certificate identity
RootCAs: rootca,
// InsecureSkipVerify: true // <- avoid using this
}
d := tls.Dialer{
Config: tc
}
conn, err := d.Dial("tcp", "127.0.0.1:8080")
在這里,我們正在撥打一個(gè) IP 地址,執(zhí)行 TLS 握手,但不是將主機(jī)證書與 進(jìn)行比較的默認(rèn)行為127.0.0.1,而是驗(yàn)證它是否匹配myhostname。
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)