ssl - tls : oversized record received with length XXXXX

标签 ssl go starttls

我像这样使用内置的标准 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/

相关文章:

使用自签名证书的 Java ssl/https 客户端

GIT HTTPS 连接问题

golang 惯用的方式来停止 for

ssl - 负载测试 xmpp 服务器

cocoa-touch - 将 SSL 添加到 iOS 应用程序同步

ssl - 更改 SSL 证书

去生成替代语句位置

amazon-ec2 - 确定请求延迟

ssl - STARTTLS 与 SSL/TLS

.net - System.Net.Mail.SmtpClient 是否使用 SSL、TLS、StartTLS 或组合?