通过Nodejs进行TLS套接字连接

时间:2012-07-15 03:20:22

标签: facebook sockets node.js

我试图通过Nodejs建立到chat.facebook.com端口:5222的TLS套接字连接。 我使用以下代码:

 var a=require('tls');
 var b=a.connect(5222,'chat.facebook.com',function(){console.log("connected");});
 b.on('error',function(error){console.log(error);})

但它没有连接而是发出错误:

 [Error: 140089045411648:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown    protocol:../deps/openssl/openssl/ssl/s23_clnt.c:683:]

我尝试过与encrypted.google.com:443类似的连接,而且控制台很快就解雇了“已连接”。

有人可以指导我错过了什么或者可以做些什么来克服这个问题。

1 个答案:

答案 0 :(得分:0)

带有tls的xmpp使用“STARTTLS”,从明文到加密的协议升级。有关详细信息,请参阅http://xmpp.org/rfcs/rfc6120.html#tls

(这意味着你必须首先发送一些未加密的xml内容,然后等待另一端确认你选择升级到TLS)