问题标签 [app-transport-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 为发布配置启用 NSAppTransportSecurity 并为调试/暂存配置禁用它的安全可靠的方法?
这个问题说明了一切。
我知道NSAllowsArbitraryLoads
这可以放在一起,NSExceptionDomains
但我对这种列入黑名单的方法有点困惑:我不想为除列出的特定生产主机之外的所有内容禁用 ATS,NSExceptionDomains
因为它们可能会发生变化,所以我需要管理他们的列表连同一般应用程序配置,我们有 3+ 种不同的主机类型用于生产。[当然,在一个完美的世界中,Apple 会建议我们列出我们想要禁用 App Transport Security 的主机并为所有其他主机启用它 - 不是!反之亦然]
我还尝试继承我的用户定义设置$(MY_USER_SETTING)
(它可以支持对应于 Debug/Staging/Release 的 3 个不同值),但它不能很好地与非字符串类型NSAppTransportSecurity
(字典和NSAllowsArbitraryLoads
布尔值)配合使用——这些值只是不继承我的用户定义设置。
背景:我希望能够使用 Charles Proxy 查看我们的 Debug/Staging 配置的 HTTP 流量,从 iOS 9 开始,它要求禁用 ATS,我想确保这不会以任何方式影响我们的 Release 配置!
ios - 使用客户端 SSL 证书并生成 HTTP 403 错误时 iOS 9 中的错误
我想我们刚刚在使用客户端 SSL 证书与后端 API 对话时发现了 iOS 9(截至 2015 年 10 月 23 日的版本)上的一个错误。与许多 REST 服务一样,我们的 API 会生成 4xx 错误代码来传达状态。其中之一是当客户端尝试访问特定客户端 ID 无权访问的路径时出现 403 Forbidden 错误。请注意,此 HTTP 错误发生在客户端 SSL 证书设置有效连接 & 并且客户端 ID 已通过身份验证之后。
在 iOS 9 中,此序列将生成无效的客户端 SSL 错误:
FAILED: Error Domain=NSURLErrorDomain Code=-1206 "The server “our.server.here” requires a client certificate."
(注意:这是我推文的后续:https ://twitter.com/ckmaresca/status/657576686318256128 - 我认为 SO 是大多数人会搜索的地方)
ios - 应用传输安全问题 iOS9
尝试在 iOS9 模拟器上运行该应用程序后,我遇到了以下令人讨厌的警告
无法加载资源,因为应用传输安全策略需要使用安全连接。
在谷歌搜索解决方案后,我找到了一个。打开您的project's .plist
文件作为源代码并添加这些行:
清理构建,运行 - 并看到类似的警告。
之后,我尝试了此处列出的各种其他方法How do I load an HTTP URL with App Transport Security in iOS 9?
没有工作。
我尝试允许所有域,即使这是一种拒绝风险的方法。
它也没有用。无论我如何编辑plist
文件,似乎 Xcode 7.0.1 都会覆盖此配置。
期待有关该主题的任何建议。
ios - iOS 应用审批和 ATS
我正在提交一个应用程序以供审核。但是,我的应用程序通过正常的 HTTP(非 ssl)连接发出请求。我听说使用非 ssl 连接的应用程序会被拒绝。
我仍然有非 ssl 连接的原因是因为大多数静态资源(图像)是由私有 cdn 通过纯 http 分发的,并且没有计划很快升级。
这是一个合理的担忧,还是苹果只是在鼓励开发人员使用 https 而我听到的消息被夸大了?
ios - iOS 应用程序传输安全异常不起作用
我正在尝试连接到 iOS 9.1 上的自签名 HTTPS 服务器。
我在用着 :
我收到一条错误消息,指出证书无效:
我已经尝试添加所有可能的传输安全异常,我目前的尝试是:
我也尝试过NSAllowsArbitraryLoads
,但即使这样也行不通。我有几个 .plist 文件(cocoapods 和测试),我认为它在正确的文件中(App/Supporting Files/Info.plist)。
知道可能出了什么问题吗?
ios - Xcode 7.1 的应用程序传输安全性
我仍然收到此错误:“ App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过您的应用程序的 Info.plist 文件配置临时异常。 ”虽然,我使用了相同的在其他项目上使用相同的解决方案并且工作正常。我正在使用带有 iPhone 模拟器的 Xcode 7.1。
ios - 调用 http:// 在 ios 9 中不起作用
_kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9843, kCFStreamPropertySSLPeerCertificates={type = immutable, count = 1, values = ( 0 : )}}}, NSLocalizedDescription=此服务器的证书无效。您可能正在连接到伪装成“mobulous.co.in”的服务器,这可能会使您的机密信息面临风险。,NSErrorFailingURLKey=https://mobulous.co.in/twerck/Service/snapChat,NSErrorFailingURLStringKey= https://mobulous.co.in/twerck/Service/snapChat,NSErrorClientCertificateStateKey=0 })
ios9 - myAppName-Info.plist 上的 ATS 覆盖未按预期工作
我重新打开了两年前制作的旧应用程序(在 XCode 5.X 或 6.X 上,我想,我不记得了),因为最终客户要求我更改应用程序中的一些徽标。编辑应用程序后,我执行了重新构建>运行顺序,然后我得到了众所周知的“应用程序传输安全性阻止了明文 HTTP 等等……”错误。正如在这个问题上所解释的,我需要通过属性编辑器(或其他)在 myAppName-info.plist 文件上添加一个覆盖。由于我已经在其他一些应用程序上进行了此覆盖,我希望让应用程序在没有 ATS 错误的情况下运行,但我继续得到它。因此,经过多次和各种尝试,我尝试从项目中完全删除“myAppName-info.plist”文件,希望在构建阶段看到一些大的红色感叹号。没有什么。一切运行顺利。另外(在删除 .plist 文件之前),我尝试在这些字段上添加一些拼写错误(例如,编写“App Transport Security Settini”),但我再次没有收到错误。
所以问题是:为什么会有这种行为?我究竟做错了什么?这与现在新应用程序只有文件“info.plist”而不再有文件“myAppName-info.plist”这一事实有关吗?