2015-05-01 111 views
2

我的服务器是使用SuperWebSocket与服务器下面的代码运行:与使用客户端证书WebSocket4Net

var server = new WebSocketServer(); 
var config = new ServerConfig(); 
config.Port = 4015; 
config.Security = "Tls"; 
config.Certificate = new CertificateConfig{ 
    FilePath = serverConfiguration.Certificate.Path, 
    ClientCertificateRequired = true 
}    
server.Setup(config); 
server.Start(); 

对于客户端,我尝试使用WebSocket4Net,我尝试配置的证书,客户端应该呈现没有任何运气,当前的客户端代码是:

var client = new WebSocket("wss://localhost:4015, "basic", WebSocketVersion.Rfc6455); 
client.Open(); 

回答

0

正如您在服务器配置中所述,您的客户端需要使用证书进行身份验证。但是我无法在客户端连接中看到任何证书。

事实上,我看不到指定这些证书的方法。 我浏览了github上的源代码,发现SuperWebSocket4Net是基于SuperSocket ClientEngine(来自同一作者)构建的。在ClientEngine中有一个名为SslStreamTcpSession的类。这里SLL客户端被创建并用于认证,在这里你可以放置你的证书。 也许我们可以要求the author添加一项功能:为客户端身份验证设置证书的机会。

+0

我终于成功地在SuperWebSocket4Net中进行了一些代码更改,如前所述,我现在可以成功地使用WSS(安全web套接字)。如果有人有兴趣,我可以分享我的黑客。 – Ratman

+0

我很感兴趣。请分享你的黑客。 - Kalyan – kalyanmysore