C# 在WebSocket4Net中使用客户端证书
我的服务器是使用SuperWebSocket运行的服务器,服务器代码如下:C# 在WebSocket4Net中使用客户端证书,c#,websocket,client-certificates,websocket4net,C#,Websocket,Client Certificates,Websocket4net,我的服务器是使用SuperWebSocket运行的服务器,服务器代码如下: var server = new WebSocketServer(); var config = new ServerConfig(); config.Port = 4015; config.Security = "Tls"; config.Certificate = new CertificateConfig{ FilePath = serverConfiguration.Certificate.Path,
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();
正如您在服务器配置中所述,您的客户端需要使用证书进行身份验证。但是我在你的客户端连接中看不到任何证书 事实上,我看不出有什么办法可以指定这些证书。 我浏览了github上的源代码,发现SuperWebSocket4Net是基于SuperSocketClientEngine构建的(来自同一作者)。在ClientEngine中有一个名为SslStreamTcpSession的类。这里创建了SLL客户端并用于身份验证,您可以在这里放置证书。
也许我们可以要求添加一个功能:为客户端身份验证设置证书的机会。我终于成功地在SuperWebSocket4Net中进行了一些代码更改,如前所述,现在我可以成功地使用WSS(安全web套接字)。如果有人感兴趣,我可以分享我的心得。请分享你的心得卡延