在BizTalk禁用WCF自签名证书验证(Disable WCF self signed certi

2019-10-18 20:25发布

我有一个WCF-BasicHttp发送端口调用一个固定使用自签名证书的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 configuraiton文件,指定checkCertificateName =“假”,但不工作,因为该设置只影响消息级别的证书验证,不能运输。

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

随着Dijkgraaf的回应,我已经导入的证书到合适的商店为我的BizTalk发送服务,它部分地解决了问题。 我们已经暂停了65000个消息。 如果我在一个批次恢复他们的200,50%以上将被发送到HTTPS Web服务,但其余的就会因错误使用了同样的错误。 最终的BizTalk将重试和消息将经历。 我不能确定是什么原因造成的错误在这一点上体现 - 高通量或高内存消耗等。

Answer 1:

不,你无法禁用它。 您需要将自签名证书添加到BizTalk主机用户的信任根证书存储,这样一来就会信任证书。



文章来源: Disable WCF self signed certificate validation in BizTalk
标签: wcf ssl BizTalk