wcf - BizTalk WCF-BasicHttp Identity Editor 字段说明

标签 wcf iis ssl biztalk client-certificates

我正在努力做到这一点,以便我的 WCF-BasicHttp 类型的发送端口将发送一个客户端证书,该证书将被 WCF 服务的 IIS 服务器接受。

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

System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.

在我看来,似乎在处理 IIS SSL 证书时出现问题。

此服务

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

看看下面的图片......我能够让 WCF 识别正在附加的客户端证书的唯一方法是通过这样配置发送端口:

Identity Editor

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

编辑 或者,我是不是全错了,下面的Certificate Reference 区域不应该包含客户端证书?

最佳答案

因此,事实证明,为了让它工作,我必须在顶部提供服务的身份。我注意到在 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 时,它起作用了。

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

关于wcf - BizTalk WCF-BasicHttp Identity Editor 字段说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21174378/

相关文章:

asp.net - 从浏览器到 IIS 的并发连接

c# - 通过运行 asp.net mvc Web 应用程序的 IIS 访问映射驱动器

java - GlassFish 连接到 SLL Web 服务

java - Spring Boot |使用动态 keystore /信任库

wcf - 无法记录 WCF 消息正文

javascript - 调用 WCF 方法

c# - 在与服务线程不同的线程上运行服务操作

c# - 无法加载文件或程序集 'Microsoft.Expression.Encoder'

IIS URL Rewrite - 如何查看重写的 URL?

php - 运行 PHP : "connection refused" error 的单个 EC2 Linux 实例上的 SSL