2017-03-16 329 views
0

幾個問題:TLS V 1.1和TLS V 1.2的iOS問題

  1. 我是否還需要NSAppTransportSecurity功能添加到我的info.plist中,如果我的服務器已經運行TLS1.2?如果是,爲什麼?不應該所有蘋果設備運行iOS9或> iOS10.11版本都可以使用TLS1.2設置嗎?

  2. 什麼是前向保密?爲什麼我需要爲特定域啓用或禁用它?

  3. 什麼是密碼套裝?

回答

2
  1. 閩TLS版本在你Info.plist中,如果您的服務器不支持至少TLS 1.2時,才需要。如果你的服務器是TLS 1.2,你不需要爲你的Info.plist添加一個例外。但是,ATS的要求遠不僅僅是TLS版本(請參閱useyourloaf.com article,特別是「不只是HTTPS」部分)

  2. 轉發保密性是您的服務器安全性的一項功能,可確保您的密鑰受損,任何被捕獲和存儲的過去流量將不能被批量解密。有些服務器出於合法原因不支持它,所以Apple允許您在ATS例外中添加例外,而無需在爲應用商店提交時提供正當理由。

  3. 密碼套件是認證,加密,消息認證碼(MAC)和用於協商安全設置的密鑰交換算法的組合。 (來自Wikipedia)。基本上它是使服務器加密工作的部分的組合。

如果你不確定,如果你的連接到您服務器將與ATS的問題,你可以簡單地在iOS 10設備上運行你的應用程序(我會做的是iOS設備9爲好,因爲有分歧在一些情況下兩者之間)。如果由於ATS而導致連接失敗,則需要對服務器進行一些更改,或向Info.plist添加例外。

或者您可以在您的Mac終端上運行以下命令:nscurl --ats-diagnostics <url>它會在您的服務器上運行一整套ATS檢查並報告任何故障。故障通常意味着您需要添加ATS異常或解決服務器上的故障。

有關ATS故障診斷和診斷的更多信息,再次this article是一個很好的資源。它討論了我上面所說的一些事情,以及啓用更多詳細信息CFNETWORK_DIAGNOSTICS日誌記錄。

+0

謝謝你的信息。它真的幫助診斷問題:) – Ackman