我有一个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将重试和消息将经历。 我不能确定是什么原因造成的错误在这一点上体现 - 高通量或高内存消耗等。