簡體   English   中英

無法為 SSL/TLS 安全通道建立信任關系 - SOAP 服務

[英]Could not establish trust relationship for the SSL/TLS secure channel - SOAP Service

我在里面有一個 SOAP web 服務,我正在調用第三方保護的 web 服務(之前是 Z293CZ6EA246FFF97898DC666)。 他們有有效的 SSL 證書。 在調用第三方服務時,我遇到了錯誤,

服務器無法處理請求。 ---> 底層連接已關閉:無法在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapClient.Inv 建立 SSL/TLS 安全通道的信任關系(字符串方法名,對象[]參數)

很少有文章說應該啟用 TSL 1.2,為了進一步檢查 TSL,我的服務器上有以下組件, 注冊表 SSL TSL

這是第三方服務電話,

在此處輸入圖像描述

有人可以指導我,我應該在哪里建立信任關系? 我需要修改我的代碼還是只需要一些配置更改

在安全通信過程中,有一個交換服務證書的公鑰的過程。 因此,我們應該在客戶端和服務器端之間建立信任關系。 對於相互認證認證,我們應該建立相互信任關系。
信任關系代表證書有效,服務器真實安全。 即,它表示這是對服務器身份的驗證。 這也可以通過以下代碼段來完成。

//adding below code segments to ignore the service certificate validation.
            ServicePointManager.ServerCertificateValidationCallback += delegate
            {
                return true;
            };
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Ssl3;

更常見的是,這應該通過在本地受信任的證書頒發機構中安裝服務根證書來完成。
在此處輸入圖像描述
要獲得證書,您可以,

  1. 1、向服務商索取,可以索取Root CA證書,可以一次性授權所有需要的服務器;
  2. 使用 web 瀏覽器獲取證書。 使用 HTTPS( https://localhost:xxxx/xxx.svc )訪問服務創建頁面。 然后使用 web 瀏覽器選項將證書導出到.cer文件。
    安裝證書。
    雙擊 .cer 文件以安裝證書。 選擇本地計算機,然后選擇受信任的根證書頒發機構。

這是一個詳細的步驟。
https://success.outsystems.com/Support/Enterprise_Customers/Installation/Install_a_trusted_root_CA__or_self-signed_certificate
如果有什么我可以幫忙的,請隨時告訴我。

除了上面的 Abraham 帖子之外,請確保 IIS 對證書有足夠的訪問權限。 我們遇到了這個問題,起初,該應用程序似乎可以訪問證書,但事實並非如此。 我們通過轉到管理證書 -> 個人 -> 證書 -> 右鍵單擊證書 -> 所有任務 -> 管理私鑰 -> 添加 -> 授予“所有人”訪問權限(僅測試,您應該只授予訪問權限到 IIS)。 執行此操作后連接有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM