C# 处理证书时发生未知错误

C# 处理证书时发生未知错误,c#,.net,websocket,ssl-certificate,C#,.net,Websocket,Ssl Certificate,我有一个自签名证书,我想在我的websockets服务器上使用它来处理来自wss://localhost:443. 我从任何web浏览器连接到服务器 然而,我似乎无法获得正确的身份验证。每次我尝试通过高级Rest客户端(ARC)软件连接到WebSockets服务器时,我都会键入wss://localhost:443或wss://127.0.0.1:443 我得到了一个例外 “System.Security.Authentication.AuthenticationException:调用SSPI

我有一个自签名证书,我想在我的websockets服务器上使用它来处理来自wss://localhost:443. 我从任何web浏览器连接到服务器

然而,我似乎无法获得正确的身份验证。每次我尝试通过高级Rest客户端(ARC)软件连接到WebSockets服务器时,我都会键入wss://localhost:443wss://127.0.0.1:443

我得到了一个例外

System.Security.Authentication.AuthenticationException:调用SSPI失败,请参阅内部异常。-->System.ComponentModel.Win32Exception:处理证书时发生未知错误。”

我使用openssl for windows创建了证书,并创建了一个非常简单的证书。我仍然无法正确地获得身份验证。有什么帮助吗

下面是我如何使用C代码的

我到底错过了什么

这是我的控制台的一个镜头,除了一个例外


我们的WebSocket服务器使用TLS 1.2

手动添加:

ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12;

已解决问题。

您是否从ARC收到任何错误?您是否已将证书添加到受信任列表中?嗯,重新启动计算机后,我尝试使用ARC,并获得了良好的身份验证。但当我从中运行并浏览时wss://localhost:443,我得到对SSPI的A调用失败,请参阅内部异常ARC和您使用相同的受信任证书根列表访问websocket.org的浏览器?它们肯定使用相同的证书。websockets服务器作为控制台应用程序运行。浏览器和ARC都使用上面提到的相同地址访问它。当然,它们使用的是相同的证书。问题是他们是否都信任该证书。Chrome使用Windows可信根CA列表,Firefox有不同的列表,等等。如果ARC是桌面应用程序,它可能使用Windows列表。要做的一件事是在Chrome中打开websocket.org页面,打开开发者工具,并在尝试连接到端点时查看网络选项卡中报告的内容。
ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12;