2

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

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

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

我尝试从网站保存证书(单击地址栏左侧的 Certname --> 查看证书 --> 导出),然后使用 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. 我是否必须在客户端机器上安装客户端证书(我的 Dev PC 现在)。
  2. 服务提供商是否应该向我提供特定的证书,如果是,我可以从他的网站上获取,或者他需要单独发送给我。

对此的任何帮助将不胜感激。

非常感谢凯文 T

4

0 回答 0