tls:收到长度超过XXXXX的超大记录

时间:2016-03-17 22:57:42

标签: 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")

我设法发现它与默认的最大数据包大小有关(16384 + 2048设置为common.go:31)。是否有任何标准的工作(没有修补此值和重建lib)?

1 个答案:

答案 0 :(得分:3)

如果您尝试与不使用SSL回复的对等方进行SSL握手,则会收到此类消息。在这种情况下,可能是某些XMPP服务器和XMPP在开始使用SSL之前首先要进行一些明文握手。尝试直接使用SSL启动会导致将服务器明文响应解释为SSL帧,这可能会导致出现奇怪的错误消息。