BizTalk WCF-BasicHttp Identity Editor字段说明

时间:2014-01-16 22:38:22

标签: wcf iis ssl biztalk client-certificates

我正在尝试这样做,因此我的WCF-BasicHttp类型的发送端口将发送一个客户端证书,该证书将被WCF服务的IIS服务器接受。

到目前为止,据我所知,客户端证书正在附加(因为当我在其中输入错误的指纹值时,我得到“客户端证书未找到错误”)。但是,现在我收到了这样的错误

  

System.Net.WebException:底层连接已关闭:可以   不建立SSL / TLS安全通道的信任关系。 --->   System.Security.Authentication.AuthenticationException:远程   证书根据验证程序无效。

对我来说,听起来像处理IIS SSL证书的东西不起作用。

此服务

    使用时,
  • 从另一个Winforms应用程序调用时工作正常 相同的客户证书。
  • 设置为“需要SSL”
  • 设置为“要求客户端证书”

看看下面的图片......我能够通过配置发送端口来识别正在连接的客户端证书的唯一方法就是:

Identity Editor

我的问题是,这看起来是否正确?注意突出显示的字段,应该在那里进行什么?这是我收到SSL / TLS错误的原因吗?

编辑或者,我是否完全错误,并且较低的Certificate Reference区域不应包含客户端证书?

1 个答案:

答案 0 :(得分:0)

事实证明,为了让它发挥作用,我必须在顶部提供服务的身份。我注意到在Endpoint Identity对话框中放置任何内容后,在保存之后,会在WCF-BasicHttp对话框之后写入一小段XML。

<identity>
  <dns value="myserver.mydomain.ca" />
  <certificateReference storeName="My" storeLocation="LocalMachine" x509FindType="FindByThumbprint" findValue="[thumbprint]" isChainIncluded="False" />
</identity>

如上面的问题中只填写了较低的部分,它提供了<certificateReference>部分,但<dns value="myserver.mydomain.ca" />只有在“常规”中的某个文本框中提供某些内容后才会显示“ 部分。当我提供DNS或服务器证书的Base64时,它工作正常。

所以,我想答案是,一旦你填写其中一个部分,两者都是必需的,发送端口不会根据地址自动猜测端点。