我像这样使用内置的标准 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 服务器,并且在开始使用 SSL 之前,对于 XMPP,您首先要进行一些明文握手。尝试直接使用 SSL 启动将导致将服务器的明文响应解释为 SSL 帧,这可能会导致像这样的奇怪错误消息。
关于ssl - tls : oversized record received with length XXXXX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073179/