问题标签 [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 - iOS 9 ATS - 为所有域禁用前向保密
在 iOS 9 中启用 ATS 后,我的许多客户都无法满足前向保密要求。但是,它们可以满足 https 和 TLS 1.2 的要求。因此,我想放宽前向保密要求,同时保持 https 和 TLS 1.2 到位。
我想知道是否有人想出了一种方法来使用 NSExceptionRequiresForwardSecrecy 或 NSThirdPartyExceptionRequiresForwardSecrecy 来禁用所有域的前向保密。
我尝试将 * 用于 NSExceptionDomains 或 *.com,但是当我使用时,问题链接不起作用。当我使用它的 domain.com 时,问题链接将加载。我正在查看上面的Apple Docs,但没有看到任何方法可以实现我的目标。
是否可以仅禁用所有域的前向保密,就像您可以通过将 NSAppTransportSecurity/NSAllowsArbitraryLoads 设置为 true 来完全禁用 ATS 一样?
谢谢!
ios - iOS 9 ATS 使用自签名证书阻止对服务器的 HTTPS 请求
这个问题遍布 Stack Overflow,过去 2 天我一直在尝试无数的 ATP 配置组合并让我的应用程序正常工作。我将彻底解决我的问题,因为看起来最微小的事情都会影响如何解决这个问题。
我最近刚刚设置了一个启用了 SSL 和 TLS 1.2 的 Ubuntu 14 服务器。在我的服务器上是我的应用程序所依赖的服务器端脚本。在我的应用程序中,我使用 NSMutableURLRequest 从服务器请求我的 API,如下所示:
当我将 url 复制到 Chrome 中时,会显示正确的 PHP 返回。在 iOS 9 上从 Xcode 7 请求时,我收到此错误:
我已经使用了无数 info.plist 设置,就像在类似问题中看到的那样。我尝试禁用前向保密,尝试启用任意加载,尝试使用异常域 mydomain.me 及其子域。我取得的唯一进展是错误代码 -9813 切换到 -9802。
我知道为 NSURLRequest 添加委托方法,但这些方法从未被调用并被认为是解决此问题的多余方法。
我使用 localhost 和 http 在 MAMP 服务器上构建了很多应用程序,然后当我启用任意加载时请求工作,所以我的 plist 没有问题。
令人难以置信的是为什么我有一个特殊情况,而且我知道 Stack Overflow 就是这种情况的地方!
谢谢,我希望这在解决后能帮助更多的开发人员。
ios - 多个服务的 iOS 9 应用程序传输安全性
我正在使用parse.com、layer.com和我的公司 url来获取条款/隐私政策,以及cocoapods
google places api 等其他框架。
我被卡住了,因为我想使用正确的Apple Transport Settings
,而且我似乎无法弄清楚如何在info.plist
. 我不希望它在提交时被应用商店拒绝。
我已经对堆栈溢出进行了研究,人们要么通过它,要么为一个域举了一个例子。目前还不清楚我应该如何在 xml 中添加它。
ios - NSURLSession/NSURLConnection HTTP 加载失败通配符证书 ios8/9
我正在尝试使用有效的 Wildcar SSL 证书(已购买)调用公共 api,但连接失败并出现错误:
错误域=NSURLErrorDomain 代码=-1202 “此服务器的证书无效。您可能正在连接到伪装成“api.mydomain.com”的服务器,这可能会使您的机密信息面临风险。” UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=, NSLocalizedRecoverySuggestion=您是否仍要连接到服务器?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9813, NSErrorPeerCertificateChainKey={type = immutable, count = 1, values = ( 0 :
通配符证书涵盖所有子域:*.mydomain.com 我尝试连接的主机是:api.mydomain.com
我尝试向 App Transport 安全性添加例外但不起作用
如何解决问题?
ios - 由于应用程序传输安全性,Parse-Server 未下载 PFFile
我正在从 Parse 的后端迁移到 Heroku 和 MongoDB 上的 Parse 服务器。
通过这个新的后端更改,我让一切工作顺利(包括加载 PFFiles),但是,我现在在添加FACEBOOK_APP_ID
参数后遇到错误,但这可能不是原因。
每当我尝试加载PFFile
(图像)时,我都会在日志中收到以下消息:
虽然我可以禁用 ATS,但这是不好的做法,我更喜欢 HTTPS。此外,错误代码是“100”,但我可以连接到我的服务器并检索对象和用户数据。
如何在保留 HTTPS 的同时使用 Parse-server 加载 PFFiles?
objective-c - iOS 9 中的 NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9802)?
我知道这个问题以前被问过!但似乎没有一个解决方案对我有用。通过 url 播放音频文件时出现此错误。
注意:服务器已根据 Apple ATS 并使用 https:// 进行了升级。所有网络调用都已更新 (AFNetworking 3.0) 以使用并兼容 iOS 9。在 plist 中处理异常时没有解决任何问题(见下文)。
我必须从下面的代码片段播放视频/音频文件,这会引发此错误。NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
应用程序如何播放视频/音频文件:
如果我<key>NSAllowsArbitraryLoads</key>
在 plist 中添加了行,则会出现以下错误。
这是我的 .plist 文件:
编辑:
输出curl -v your_url
:
输出: openssl s_client -connect your_host:your_port -showcerts
:(i.e. openssl s_client -connect t-mobi.name.school.nz:443 -showcerts)
输出curl -vL url
:
输出whereis openssl
:
输出openssl version
:
ios - (ATS) 应用程序传输安全 iOS 9
基本上我的应用程序从网络接收数据,其中有几个文件下载到我的应用程序。
所以,我在 info.plist 中做了更改
添加了该代码:
但是仍然会发生该错误:
App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。
有什么想法可以解决这个错误或者我错过了什么吗?
ios - 基于 Xcode 构建配置的应用传输层安全性
我像往常一样有 2 个构建配置。Debug
, Adhoc
, Release
. 我想为配置禁用 iOS 应用传输层安全性Debug
。所以基本上我想在 Info.plist 中对每个配置进行不同的更改。我怎么能做到这一点?
ios - iOS App Transport Security 不接受 TLSv1.2 连接和 plist 异常没有任何区别
我有一个使用 SSL/HTTPS 与服务器通信的 iOS 应用程序。服务器提供的证书适用于 TLSv1.2(应用程序传输安全的主要要求)。演示这一点的示例 URL(可以通过检查证书来验证 TLSv1.2)是https://api.branon.co.uk/checkOnline。
但是,该应用程序正在引发与应用程序传输层相关的错误——当谷歌搜索时,这些错误意味着这是因为服务器没有在 TLSv1.2 上运行。一个示例错误是:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
和:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
我什至在 plist 文件中添加了一堆异常,例如:
但这不会改变结果。
使用的证书是StartCom颁发的免费证书。我的 nginx 配置如下(仅供参考)。
有人知道为什么会这样吗?
谢谢!
更新: 根据@Paulw11 建议的运行 nscurl 的测试(如下)的结果,我决定尝试完全禁用 App Transport Security。我将 plist 中的 App Transport Security 字典更改为以下内容:
我仍然得到同样的错误!因此,如果不是 App Transport Security,可能是什么原因造成的?我再次遇到的那个错误是:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)