尝试使用X.509证书调用Web服务

时间:2012-08-08 11:34:51

标签: c# web-services x509

我正在尝试使用X.509证书调用受保护的Web服务。 webservice的提供者为我提供了用户名和密码。 当我使用Firefox浏览网站时,浏览器会提示我输入用户名和密码。 当我输入用户名/密码时,它会将我带到XML文档(而不是WSDL)。 然后我可以点击证书(地址栏的左侧),我看到服务提供商已经验证了他自己的证书

我已经提供了WSDL(作为电子邮件附件), 并使用标准的右键单击添加服务引用创建了代理类。

当我尝试调用webservice时,出现以下错误: 无法为具有权限的SSL / TLS安全通道建立信任关系。

我尝试从网站保存证书(点击地址栏左侧的证书名称 - >查看证书 - >导出),然后使用mmc证书管理单元将其安装到我的计算机上(上午我甚至在这里朝着正确的方向前进?)

但这不起作用

这是我的代码:

var factory = new ChannelFactory<ServicePort>("ServiceSoapBinding");
factory.Credentials.UserName.UserName = "myuser";
factory.Credentials.UserName.Password = "mypass";
var client = factory.CreateChannel();
var request = GetRequest();
var response = client.GetDetails(request);

我对证书有非常基本的了解,所以请记住:

  1. 我是否必须在客户端计算机上安装客户端证书(My Dev PC)。
  2. 服务提供商是否应该向我提供特定证书?如果是,我是否可以从他的网站上获取,如上所述,或者他是否需要单独发送给我。
  3. 非常感谢任何帮助。

    非常感谢 凯文T

0 个答案:

没有答案