MVC应用程序使用客户端证书调用Web服务

时间:2014-05-14 15:48:42

标签: web service client ssl-certificate

我有一个带有Web服务的MVC 4.0应用程序作为参考。 Web服务安装在第三方远程服务器上将SSL。此外,Web服务还需要客户端证书身份验证我将第三方颁发的证书安装到个人存储,受信任的根证书颁发机构和第三方根证书颁发机构的测试服务器上。与我的本地计算机相同。应用程序能够访问远程服务器并在我的本地开发服务器上获得响应,但在我们的测试服务器上始终失败。我们的测试服务器是win 2003和IIS 6.0。我得到的错误是“需要客户证书”。看起来远程服务器拒绝或无法获取我们通过的证书。

这是我的代码:

  var svc = new webservcie();
   svc.ClientCertificates.Add(X509Certificate.CreateFromCertFile("c:\clientcert.cer"));
   svc.Credentials = new NetworkCredential(username, password);
   svc.url = "https://www.thirdparty.com/WMServices";
   svc.givemedata()

我已经尝试了很多方法来解决这个问题,但不能。我认为问题是我们的测试服务器无法访问客户端认证。我阅读了一篇关于授予Networkservice访问证书的文章,但不确定它是否正确。

有人可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我从服务器应用程序事件日志中发现了更多细节错误:

自动更新第三方根列表序列号的检索失败:http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootseq.txt但有错误:此网络连接不存在。

谢谢!