2015-06-05 65 views
0

實現支付網關的第一步。調用SSL支付網關時出錯:「底層連接已關閉:無法建立SSL/TLS安全通道的信任關係」

調用從我ASP.net代碼都布倫特裏和Beantream支付網關落後於IIS 8.5託管贏下8.1結果:

「基礎連接已關閉:無法爲SSL信任 關係/ TLS安全通道」

注意,從我的中間層調用相同的服務,坐落在同一臺機器工作正常,因此該證書已正確安裝。

這裏的示例代碼來調用服務布倫特裏通他們的SDK:

[System.Web.Services.WebMethod] 
     public static CheckinDetailResponse GetViewData() 
     { 
      CheckinDetailResponse response = new CheckinDetailResponse() 
      { 
       ClientToken = string.Empty, 
       IsSuccessful = false, 
       ErrorMessage = string.Empty 
      }; 

      try 
      { 

       response.ClientToken = GetPaymentToken(); 
       response.IsSuccessful = true; 
      } 
      catch (BaseDataServicesException ex) 
      { 
       response.ErrorMessage = ex.GetLocalizedMessage(Resources.WebCommon.ResourceManager); 
      } 

      return response; 

     } 


    private static string GetPaymentToken() 
      { 
       var gateway = new BraintreeGateway 
       { 
        Environment = Braintree.Environment.SANDBOX, 
        MerchantId = "999", 
        PublicKey = "999", 
        PrivateKey = "999" 
       }; 


       var clientToken = gateway.ClientToken.generate(null); 
       return JsonDcSerialization.ToJsonString(clientToken); ; 
      } 

是否有需要在IIS中進行,以便從一個Web應用程序調用SSL服務的一些特殊設置?

謝謝!

+0

作爲服務調用的一部分,您是否將來自Web應用程序的客戶端證書傳遞給您?顯示服務調用的代碼。 – user469104

+0

@ user469104,添加上面的代碼示例。沒有通過證書本身,我正在使用他們的SDK和示例代碼。 – zukanta

+0

有些問題。他們的服務是否期待客戶證書通過?即是使用客戶端證書進行身份驗證的服務?當你說你從中間層成功調用服務時,中間層是否使用與上面相同的代碼/ API/SDK?如果不是,那麼中間層使用什麼? – user469104

回答

0

檢查的SSL證書安裝在機器上,如果你通過他們你的代碼,如果你還正在使用的機器配置爲接受證書發行人的信任。

+0

感謝您的回答,但您可以在我的問題中以粗體顯示,如果安裝在同一臺計算機上的m-t可以撥打電話,是否證明證書安裝正確?我做了檢查,證書在那裏。 – zukanta

0

,如果這是你可能需要用公鑰(最終在PKCS#7格式)一路傳遞簽名證書(又名中間CA)第三方認證機構頒發的證書。在使用自簽名證書的情況下,您可能需要將根導入到mmc受信任的根證書頒發機構存儲中。

我傾向於認爲這是第一種情況下爲不可信錯誤消息通常是指缺乏信任鏈的一塊。

希望得到這個幫助。

+0

我只是使用braintree提供的SDK,我沒有自己通過證書。任何需要在IIS中設置的可能?導致m-t-works ...... – zukanta

相關問題