将客户端证书与WebSocket4Net一起使用

时间:2015-05-01 07:51:55

标签: 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,
    ClientCertificateRequired = true
}            
server.Setup(config);
server.Start();

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

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

1 个答案:

答案 0 :(得分:0)

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

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