问题标签 [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.

0 投票
1 回答
117 浏览

ios - iOS 9.2 因 [[CJSONDeserializer deserializer] deserializeAsDictionary 崩溃:

当我在 iOS 8.4 和 9.2 上运行以下代码时,我得到一个jsonData808 字节的 NSData 对象:

但是,如果我将这个 NSData 对象输入到 CJSONDeserializer 中,我会在 iOS 9.2 中崩溃,但在 iOS 8.4 中会出现 NSDictionary。例如

注意:在崩溃的行 NSData 对象似乎发生了变化 - 例如在这里:

inData在 iOS 8.4 中为 808 字节,但在 iOS 9.2 中如下所示:

NSData

其中,由于地址奇数,我认为这意味着对象不正确(可能被覆盖?)。

我试图在没有应用程序传输安全开销的情况下找出问题,所以我将 NSAppTransportSecurity 设置如下:

我还将 CJSONDeserializer 更新到了最新版本。

任何其他建议可能是什么问题。

0 投票
4 回答
14064 浏览

ios - 验证服务器是否符合 Apple 的 ATS / TLS 1.2 要求的最佳方式

因此,Apple 要求从 iOS 9 开始的 URL 的 TLS 1.2 具有前向保密性。独立于应用程序,验证服务器是否满足所有要求的最佳方法是什么?

nscurl 完全不起作用 - 或者我不知道如何使用它。我的输出只是反复说 CFNetwork SSLHandshake 失败,即使我知道服务器是合规的。

TLSTool 在某种程度上有效,但我不能强制使用前向保密 (FS) 密码。

openssl 可以为客户端模式指定特定的密码,但我拥有的版本没有 FS 密码。如何升级openssl?

最好的方法是什么?到目前为止,我不得不访问 ssllabs.com 的analyze.html。有什么建议么?

0 投票
3 回答
880 浏览

ios - 由于应用程序传输安全性而阻止的应用程序访问已阻止明文 HTTP 并完成了几乎所有操作

我正在尝试iOS使用 Facebook 通过 Facebook 登录我的应用程序6.4 SDK version,尽管我已经完成了 Facebook 开发人员页面的几乎所有操作,但我不断收到此错误消息,因此推荐!请帮忙。我收到这条消息:

错误

App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

这里附上我Info.Plist提前谢谢你的快照。

在此处输入图像描述

0 投票
0 回答
452 浏览

ios - 传输安全异常不适用于特定域

我的 .plist 中有这段代码,我已经将这段代码用于其他应用程序,它可以正常工作,但这次它不起作用。

我也试过这个:

唯一的区别是域;目前我正在使用 .it 域,也许 ATS 对这个域有一些问题?无论如何,如果我使用全局,一切正常:

为什么使用 .it 域会出现 TransportSecurity 错误?

编辑

这是一个示例错误:

传输安全已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

0 投票
1 回答
1348 浏览

ios - 在 iOS 应用上安装 TLS 1.2 证书

如何在 iOS 应用上安装经过认证的 TLS 证书?

我认为将来还需要能够通过网络将新证书发送到应用程序,如果需要的话,这将如何工作?

我假设一旦安装,Apple 将处理设备端的整个握手过程?

在网上找到这些问题的明确答案时遇到了一些麻烦。

0 投票
1 回答
591 浏览

ios - App Transport Security 已阻止明文 HTTP XCode 7.1

我在 XCode 7.1 的代码中看到了 App 传输安全阻止程序。我已经尝试了从 stackoverflow 设置NSAllowsArbitraryLoads为 true 的几个选项,但这仍然不起作用,任何更多的建议都会真正有帮助。

日志

0 投票
1 回答
592 浏览

ios - 您如何根据构建配置更改应用程序传输安全设置?

我有一个具有多个构建配置的应用程序。如果选择的配置是 Debug,我希望文件中的NSAllowsArbitraryLoadsInfo.plist设置为 YES,否则我希望它设置为 NO。

我该如何实现这一目标?

0 投票
1 回答
177 浏览

ios - 遇到应用程序传输安全问题

嘿,我收到此错误:

App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

当尝试从网络上获取图像时,我知道这必须与 iOS9 应用程序传输安全性有关,但问题是在我的 plist 中我将其Allow Arbitrary Loads设置为 true。

不仅如此,我真的找不到更多解决这个问题的方法。

有没有人有任何想法?

在此处输入图像描述

0 投票
3 回答
2152 浏览

ios - iOS 目标 C HTTPS 请求失败

我进行了广泛的搜索并进行了必要的更改(我认为)以符合 Appl'es ATS 限制。

私钥 2048 位或更高

openssl rsa -in privkey.pem -text -noout

私钥:(2048 位)

在 v1.2 验证的nginx ssl 上运行 ssl v1.2

甚至运行 make nscurl 实用程序来检查连接,所有测试都通过了。

我还可以通过从浏览器对 https 进行 GET 并让一切正常运行来验证服务器是否正常运行。

我的想法是可能是子域引起了问题,所以我将 info.plist 文件更新为以下内容

在我认为一切正常的情况下,我收到以下错误。

2016-01-25 15:59:17.345 StripePlayground[2999:84984] NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9802) 2016-01-25 15:59:17.348 StripePlayground[2999:84989] (null) 2016-01 -25 15:59:17.348 StripePlayground[2999:84989] 错误域=NSURLErrorDomain 代码=-1200 “发生 SSL 错误,无法与服务器建立安全连接。” UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=, NSLocalizedRecoverySuggestion=您是否仍要连接到服务器?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey={type = immutable, count = 1, values = ( 0 : )}, NSUnderlyingError=0x7fd97252e580 {错误域=kCFErrorDomainCFNetwork 代码=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0,https://gateway.boramash.com/stripe-add-customer , NSErrorFailingURLStringKey= prependingtext_for_stack_overflowhttps://gateway.boramash.com/stripe-add-customer, NSErrorClientCertificateStateKey=0}

这也是我的请求代码,非常基本。

任何建议将不胜感激!

0 投票
0 回答
715 浏览

ios - 即使使用 AllowInsecureHTTPLoads 和允许任意加载,iOS 9 ATS 也会失败

到目前为止,我已经尝试过我所见过的任何解决方案,但没有任何效果。

据我了解,通过将 Allow Arbitrary Loads = YES 放在我的 info.plist 文件的应用程序传输安全设置中,它应该关闭所有 ATS。

即使这样,我得到NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)

如果我检查我的服务器:

所有测试通过!

如果我尝试使用 TLSTool 检查我的服务器设置,我会得到以下信息:

我写了一个简单的 iOS 应用程序,它只是尝试在运行时执行以下操作......

我将应用程序传输安全设置设置为允许任意加载 = YES

我还打开了 NSURLConnection 调试。它给了我以下信息:

我可以看到它正在失败,但我无法弄清楚我能做些什么来让它不会失败!

关闭所有 ATS 不应该让任何事情通过吗?

这一切都是因为我们的 Go Daddy 证书没有使用正确的密码吗?

为什么所有 TLS 检查都通过我的 Mac 上的命令行通过,但尝试通过我的超级简单应用程序运行时,我无法连接。

我意识到这是一篇很长的帖子,但我已经尝试了所有能找到的方法来解决这个问题,但没有任何效果。帮助。

更新:

如果我允许任意加载并将以下内容添加到我的 NSURLSessionDelegate 中,我可以让我的 Swift 示例正常工作

然而,这个解决方案并不理想,因为我想让 ATS 在我现有的服务器上正常工作。

有谁知道在我的服务器端实际修复问题以使 ATS 正常工作的步骤是什么?