SignalR无法使用证书进行身份验证

时间:2015-01-14 20:09:43

标签: authentication certificate signalr

我想使用证书验证我的信号客户端。

在客户端,我有:

Connection = new HubConnection(ServerUri);
var certificate = new X509Certificate2(path);
Connection.AddClientCertificate(certificate);
HubProxy = Connection.CreateHubProxy("MyHub");

我还尝试使用私钥创建证书:

var certificate = new X509Certificate2(path, "...");

在服务器上我有这个配置:

<location path="signalr">
  <system.webServer>
    <security>
      <access sslFlags="SslNegotiateCert" />
    </security>
  </system.webServer>
</location>

要获得我尝试的证书:

Context.Request.GetHttpContext().Request.ClientCertificate
Context.Request.Environment.TryGetValue("ssl.ClientCertificate", out cert)

第一个问题是path =“signalr”。当我使用它时,客户端无法连接到服务器,我得到:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data 
for the page is invalid.

我试过:path =“〜”,path =“signalr / content”,path =“signalr / send”并且没有错误,但服务器上的客户端证书始终为空。

非常感谢任何帮助。

0 个答案:

没有答案