簡體   English   中英

iOS應用僅與https和Apple Transport Security進行通信

[英]iOS app communicating with https only and Apple Transport Security Impact

我的問題與Apple Transport Security(ATS)有關,並且對我的配置有影響。 我對如果不遵守該怎么辦感到困惑。

我有一個iOS應用程序,可與服務器進行通信,並且API僅強制執行https連接,但同時我的TLS1.0帶有SHA256和Cipher Suites,並且我的配置未啟用任何轉發保密功能。

如果然后我繼續通過以下方法繞過ATS:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

在ATS文檔中令我感到困惑的是:

禁用ATS可以不管HTTP或HTTPS配置如何都進行連接,允許連接到具有較低TLS版本的服務器,並允許使用不支持前向保密(FS)的密碼套件進行連接。

這是否意味着我的應用程序和服務器仍將繼續通過https進行通信而沒有副作用? ,連接不會僅僅因為我的服務器始終強制執行https但目前不符合ATS而失敗。

換句話說,我是否必須立即升級服務器以支持TLS1.2,並具有Forward Secrecy和其他ATS要求? 假設我將使用iOS 9和最新的XCode對我的應用程序進行更新。

另一方面,我知道我應該采用ATS,但是目前時間和資源都很有限。

您不必立即升級服務器。 您也不必完全關閉ATS。

相反,您可以通過info.plist中的類似內容告訴ATS您的服務器使用TLSv1,並且不支持FS:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>your.servers.domain.here</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
        </dict>
    </dict>
</dict>

nscurl --ats-diagnostics --verbose $YOUR_API_URL將幫助您弄清楚與服務器對話時真正需要指定的內容。

暫無
暫無

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

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