我使用内置的标准 SSL 套接字客户端库(net + crypto/tls),如下所示:
conn, err := net.Dial("tcp", "exploit.im:5222")
//...
config := tls.Config{InsecureSkipVerify: true}
tls_conn := tls.Client(conn, &config)
fmt.Println(tls_conn.Handshake())
我收到消息:
conn, err := net.Dial("tcp", "exploit.im:5222")
我设法发现它与默认最大数据包大小(在 common.go:31 中设置的 16384 + 2048)有某种关系。是否有任何标准解决方法(无需修补此值并重建库)?
如果您尝试与不使用 SSL 回复的对等方进行 SSL 握手,您会收到此类消息。在这种情况下,它可能是某个 XMPP 服务器,并且使用 XMPP,在开始使用 SSL 之前,您首先需要进行一些明文握手。尝试直接使用 SSL 启动将导致将服务器明文响应解释为 SSL 帧,这可能会导致类似这样的奇怪错误消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)