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

在BizTalk中禁用WCF自签名证书验证,wcf,ssl,biztalk,Wcf,Ssl,Biztalk,我有一个WCF BasicHttp发送端口,它调用一个由自签名SSL证书保护的web服务。这一切都部署在测试环境中,在那里我们无法访问正确的证书 BizTalk返回错误“无法为SSL/TLS安全通道建立信任关系”,因为它无法正确信任未签名的证书。有没有办法配置BizTalk或发送端口来禁用证书验证 我看过代码示例,但这不起作用,因为没有代码:BizTalk发送端口纯粹是配置: using System.Net; using System.Net.Security; using System.Se

我有一个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主机用户的受信任根证书存储中,这样它将信任证书。

因此,使用win server 2008R2上的MMC,我将添加证书管理单元,并选择为“服务帐户”管理证书然后选择我的发送端口正在使用的BizTalk服务BizTalk组?太好了!这部分解决了我的问题。我发现,尽管如此,我仍然会出现间歇性错误,似乎是在高负荷下。例如,如果我在一批中恢复200条消息,通常其中50%将挂起,并出现相同的错误。相同的错误:无法为SSL/TLS安全通道建立信任关系。由于某种原因,它现在是间歇性的。我知道证书是可以信任的,因为我可以在那台机器上从IE浏览到网站。这太奇怪了!web服务负载平衡吗?您的BizTalk server是单机版还是群集版?