首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时支持http call和ATS

同时支持http call和ATS
EN

Stack Overflow用户
提问于 2016-10-20 13:28:46
回答 1查看 88关注 0票数 1

我正在工作一个应用程序,用户可以输入任意的URL,我的应用程序可以连接。目标服务器可以是http或https。我在我的应用程序info.plist中添加了以下值。

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

由于以上配置,即使缺少任何安全服务器要求,如TLS1.2、前向保密等,http调用和安全服务器仍能正常工作。

我希望确保我的安全服务器满足iOS文档中提到的所有要求,即TLS1.2,向前保密,如果我的安全服务器上缺少任何内容,我的请求将失败。如果我的服务器没有正确配置SSL需求(TLS1.2,前向保密),我已经使用了以下配置,请求失败。

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>

在使用上述配置后,我无法与http服务器连接。如果没有正确配置安全服务器,我是否可以连接http服务器并请求失败。

注意:我的应用程序可以连接到用户输入的任何服务器。我不能使用NSExceptionDomains配置来指定服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 13:44:52

NSExceptionDomains不仅允许在某些域上设置不太安全的设置,还可以将其用于相反的情况,例如默认情况下允许任意加载,然后添加需要更安全设置的异常:

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <true/>
        </dict>
    </dict>
</dict>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40155863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档