wcf - 在 BizTalk 中禁用 WCF 自签名证书验证

标签 wcf ssl biztalk

我有一个 WCF-BasicHttp 发送端口调用一个使用自签名 SSL 证书保护的 Web 服务。这一切都部署在测试环境中,我们无法在其中访问适当的证书。

BizTalk 返回错误“无法为 SSL/TLS 安全通道建立信任关系”,因为它不能正确地信任未签名的证书。有什么方法可以配置 BizTalk 或发送端口以禁用证书验证?

我看过代码示例,但这行不通,因为没有什么可编码的:BizTalk 发送端口纯粹是配置:

using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
...
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(OnValidationCallback); 
...
 public static bool OnValidationCallback(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
 { 
    return true;
 }

我还查看了更新 BtsNtSvc.exe.config 配置文件,指定 checkCertificateName="false"但这不起作用,因为该设置只影响消息级证书验证,不影响传输。

<system.net>
<settings>
    <servicePointManager checkCertificateName="false" checkCertificateRevocationList="false"/>
</settings>
</system.net>

根据 Dijkgraaf 的回复,我已将证书导入到我的 biztalk 发送服务的相应商店,这部分解决了问题。我们暂停了大约 65000 条消息。如果我批量恢复其中的 200 个,50% 或更多将被发送到 Https Web 服务,但其余部分将因相同的错误而出错。最终 BizTalk 将重试并且消息将通过。我不确定此时出现错误的原因 - 高吞吐量、高内存消耗或其他。

最佳答案

不,你不能禁用它。您需要将自签名证书添加到 BizTalk 主机用户的受信任根证书存储中,这样它将信任该证书。

关于wcf - 在 BizTalk 中禁用 WCF 自签名证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19550211/

相关文章:

http - 将两个站点链接在一起时出现无效证书警告

visual-studio-2008 - Visual Studio 2008 中 BizTalk 架构项目的引用问题

biztalk - 为什么终止挂起(不可恢复)的服务实例会返回 Failed,但它已终止

c# - WebRequest 不工作

.net - 如何使用引导 token 正确连接到WCF服务

security - 使用自定义域的安全 websocket 到 OpenShift 应用程序失败

Biztalk错误: Exception occurred when persisting state to the database

wcf - 以编程方式添加端点

c# - 稳步减慢从 javascript 到 WCF 服务的 ajax 调用

c++ - Arduino ESP8266HTTPClient : Handshake failure (SSL error 40)