2017-04-07 40 views
7

我開發了一個連接到內部Web服務器的iOS應用程序。當我使用模擬器時,它工作正常,但是當我在iPhone上構建相同的應用程序時,它給了我一個錯誤消息「發生了ssl錯誤,並且無法與服務器建立安全連接。 ?「爲什麼錯誤僅發生在iPhone未在模擬器「發生了ssl錯誤,並且無法建立與服務器的安全連接」僅在電話上連接到內部開發服務器

這裏是我的環境 的Xcode 8.2 iOS的10.3 目標C - 我的客戶端代碼使用ATS默認 AFNetworking框架3.1 Web服務器 - 支持TLS 1.2只有 Web服務器證書是不支持前向安全性呢。

難道是因爲我的證書是不符合ATS?

回答

5

我從蘋果

012閱讀本 document
<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>Your Domain</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/>     
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

我的應用程序正在使用設備。我在服務器上的證書沒有準備好Forward Secrecy。

+2

另外應該注意的是,蘋果公司不會要求對此ATS例外的理由,因爲前向保密例外不是Apple需要明確理由的例外。也就是說,如果您在提交給Apple之前可以刪除該異常,那將是理想的。 – wottle

+0

謝謝@wottle,我的服務器是windows 2008 R2,有一個支持ECDSA和ECDHE密鑰的證書,操作系統必須是Windows 2012 R2,我等待服務器團隊升級我們的服務器。 – Aviva

+0

另一件事是這個應用程序是一個企業應用程序,所以我不需要提交給蘋果商店。 – Aviva

相關問題