2015-11-03 64 views
0

我們有一個使用第三方框架進行身份驗證的自定義移動應用程序。該框架將連接到運行在tomcat上的基於Web的服務器。該服務器受TSL 1.2證書保護。如果我沒有SSL連接,連接成功。我收到的錯誤消息如下。Objective-C SSL問題:CFNetwork SSLHandshake失敗(-9847)

CFNetwork SSLHandshake failed (-9847) 

我認爲這個錯誤信息意味着它解析到服務器,但無法完成SSL握手。

Info.plist我配置了以下內容。

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>yoursite.here.com</key> 
      <dict> 
       <!--Include to allow subdomains--> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <!--Include to allow insecure HTTP requests--> 
       <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
       <!--Include to specify minimum TLS version--> 
       <key>NSTemporaryExceptionMinimumTLSVersion</key> 
       <string>TLSv1.1</string> 
      </dict> 
     </dict> 
    </dict> 

除此之外,我試圖通過替換上面的代碼片段繞過新的IOS標準的證書。但是結果是一樣的

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Connect to anything (this is probably BAD)--> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

證書是自簽名的,並且當用戶通過MicroStrategy Web訪問並不需要互動。

+0

我也得到了需要「CFNetwork的SSLHandshake失敗(-9824)」錯誤太多。你有沒有找到任何解決方案? – Inuyasha

+0

嗨我也得到這個錯誤。並嘗試過這種解決方案,但沒有得到任何解決方案,所以你可以給我一些其他方法。 –

回答

1

我使用SSL的端口不正確,使用443

相關問題