我有一個WCF-BasicHttp發送端口調用一個使用自簽名SSL證書進行保護的Web服務。這全部部署在測試環境中,我們無法訪問正確的證書。在BizTalk中禁用WCF自簽名證書驗證
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網絡服務,但其餘部分會出錯並出現相同的錯誤。最終BizTalk將會重試,並且郵件將會通過。我不確定是什麼原因導致錯誤在這一點上出現 - 高吞吐量或高內存消耗或其他。
因此,如果在win server 2008R2上使用MMC,我會添加證書管理單元並選擇管理「服務帳戶」的證書,然後選擇我的發送端口正在使用的BizTalk服務BizTalk組? – Jeremy
太棒了!這部分解決了我的問題。我發現雖然我仍然得到間歇性的錯誤,似乎在高負荷下。例如,如果我在一批中恢復200條消息,通常有50%的消息會掛起並出現相同的錯誤。 – Jeremy
相同的錯誤:無法建立SSL/TLS安全通道的信任關係。出於某種原因,它現在是間歇性的。我知道該證書可以信任,因爲我可以從該機器上的IE瀏覽到該網站。 – Jeremy