Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SSL证书:没有客户端证书密钥_C#_Wcf_Certificate_Ssl Certificate - Fatal编程技术网

C# SSL证书:没有客户端证书密钥

C# SSL证书:没有客户端证书密钥,c#,wcf,certificate,ssl-certificate,C#,Wcf,Certificate,Ssl Certificate,我正在尝试访问一个WCF web服务,即使用双向SSL加密。当我试着呼叫服务时,我得到了一个 System.ServiceModel.Security.SecurityNegotiationException:无法为具有权限“XXX.xx”的SSL/TLS建立安全通道。-->System.Net.WebException:请求被中止:无法创建SSL/TLS安全通道 我已经尝试激活WireShark,以查看向服务器发送和从服务器发送的内容:我看到一个客户端hello和一个服务器hello。但是没有

我正在尝试访问一个WCF web服务,即使用双向SSL加密。当我试着呼叫服务时,我得到了一个

System.ServiceModel.Security.SecurityNegotiationException:无法为具有权限“XXX.xx”的SSL/TLS建立安全通道。-->System.Net.WebException:请求被中止:无法创建SSL/TLS安全通道

我已经尝试激活WireShark,以查看向服务器发送和从服务器发送的内容:我看到一个客户端hello和一个服务器hello。但是没有对服务器hello的客户端响应。我正期待着一个惊喜

“证书。客户端密钥交换。更改密码。加密握手消息”

包,但未发送任何包。我认为服务器发送的证书有问题,因为我的客户机服务器没有破坏它

以下是我已经尝试过的: 我已经通过适当的权限创建了证书,尽管我可能在不知情的情况下在证书请求中出错。 我已将两个根证书添加到:受信任的根证书、受信任的发布者和受信任的人。我还向受信任的人添加了客户端证书。我的同事成功地在Win2008服务器上建立了连接(我使用的是2003,因为出于一些奇怪的原因,这是必要的——不要问)。我看不出我们的方法有什么不同,所以我有点迷茫

非常感谢您的帮助。

我解决了这个问题:

结果表明,应用程序池对证书的私钥没有读取权限。我们将应用程序池更改为本地系统(我相信),解决了问题