ATS】的更多相关文章

苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容http和不满足规定的https,我们采用了最偷懒的做法:设置NSAllowsArbitraryLoads 为YES.即: <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads<…
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现.网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的HTTPS不仅仅是在接口HTTP上加个S那么简单: 它所有满足的是iOS9中新增App Transport Security(简称ATS)特性: 那满足ATS我们需要做什么呢 1.必须是苹果信任的CA证书机构颁发的证书 2.后台传输协议必须满足: TLS1.2 (这很重要, 后面的自制证书满足这个条…
[转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, p…
零.前言1.官网 http://trafficserver.apache.org/2.国内社区 https://blog.zymlinux.net3.简洁明了的配置:http://blog.csdn.net/tiantiandjava/article/details/50327855 一.ats安装1.安装依赖包 #yum install pkgconfig libtool gcc make openssl tcl expat pcre pcre-devel libcap flex hwloc…
因为苹果ATS的要求, tomcat服务器要求上https+TLS1.2, 前面搞定了https,但是tls一直是1.0, 甚至把跑了一年的服务器重启了, 不解决问题. 思路如下: 1. 将openJDK升级到1.8, 因为1.8以后的java默认支持tls 1.2, 不然就是1.0 2. tomcat server.xml修改了一下: <Connector port="443" protocol="HTTP/1.1" keystoreFile="/…

ATS

一) 起因:由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求. 之前,可以在Info.plist中禁用ATS功能,按如下设置即可. <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 1月1日后,也许这样设置没有用了. 二). 将项目中的  NSAllowsArbit…
最近一直做项目的ATS改造,期间遇到了种种问题,各种坑都记录下来, 比如iOS版本.afnetwork版本.证书(是否为自签证书).域名验证.TLS版本等等,我们项目更复杂,还使用了域名到IP映射的路由表策略,在验证自签证书的时候各种配置host,这种需求在文章里就不赘述了,有相似需求的可以私下讨论: 有描述不对的地方,欢迎大神指正! 先鬼扯点儿小背景,不喜请略过黄色部分:) 关于ATS,简单说就是app使用的网络请求都必须走https,iOS9以后,此设置默认开启,项目中所有的http请求直接…
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式.在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的.当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将NSAllowsA…
服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssllabs.com/ Summary部分显示的是总体评分,显示绿色的A即为安全.如果评分低于A,则需要具体分析减分项,并逐一修复. 1.在Authentication部分,需要确认如下内容: ·–Key中的算法为RSA.秘钥长度大于等于2048位,或者算法为ECC.秘钥长度大于等于256位. ·–Si…
什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网络请求默认强制使用HTTPS加密传输,目标是提高Apple 操作系统以及应用程序的安全性. WWDC 16 中,Apple 表示将继续在 iOS 10 和OS X 10.12 中持续收紧对普通 HTTP站点的访问限制.从 2017 年 1 月 1 日起,所有新提交到appstore中的 app 默认…
服务器配置ssl证书支持苹果ATS方法 发布日期:2016-12-14 苹果安全工程&架构部门主管Ivan Kristic表示ATS将在今年底成为App Sotre app的必要条件,这将大幅提高App在网络上的通讯安全,带给用户真正的安全保障. 其实在iOS 9中ATS是默认开启的,但开发者仍然能关闭ATS,但从2017年1月1日起,App开发者们也明确了必须强制开启ATS的期限. 苹果提出的ATS有哪些强制标准呢: 部署服务器SSL证书,启用HTTPS加密连接.但需满足以下ATS默认的安全要…
一.问题描述 在学习网络处理的过程,发现代码都没错,运行时会收到如下错误提示: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. 二.问题分析 应用程序采取了明文HTTP协议(http://).WWDC 15,苹…
iOS 9系统已经出来了,而网络方面的ATS(App Transport Security)特性可以说每个人都要经历.而我这篇博客,就是结合我最近几天的经历,来谈谈从服务器到iOS客户端对ATS的适配. 一.简单谈谈ATS(App Transport Security) ATS(App Transport Security)是为了提高App与服务器之间安全传输数据一个特性,这个特性从iOS9和OSX10.11开始出现,它默认需要满足以下几个条件: 服务器TLS版本至少是1.2版本 连接加密只允许…
LIPEIdeMacBook-Air:~ lipei$ nscurl --ats-diagnostics https://xxxxx.com/ Starting ATS Diagnostics Configuring ATS Info.plist keys and displaying the result of HTTPS loads to https://test.gupiaoxianji.com/. A test will "PASS" if URLSession:task:di…
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式.在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的.当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将 NSAllows…
苹果在最近的一次WWDC上提出将在2017年1月1日起强制我们用HTTPS,否则提交App可能会被拒绝.很多ios应用的已经放出支持HTTPS的SDK了.本文主要针对混合式IOS应用提供相关的解决方案,欢迎探讨. info.plist中NSAppTransportSecurity字典结构 NSAppTransportSecurity : Dictionary { NSAllowsArbitraryLoads : Boolean // 默认开启ATS,设置为NO关闭ATS,需审核时说明 NSAll…
HTTPS协议是Http Over SSL,简单来说就是HTTP的安全版本,在HTTP的基础上增加SSL/TLS加密传输协议,通过HTTPS加密传输和身份认证保证了传输过程的安全性.在登录网银和电子邮箱时,你会常常看到地址栏的网址显示HTTPS前缀,从而轻松判断这个网页是否采用了HTTPS加密连接.但是在移动应用上,网络连接的安全性就没有那么透明了,用户很难知道App连接网络时使用的是HTTP还是HTTPS. ATS就是因此而诞生的,ATS要求服务器必须支持传输层安全(TLS)协议1.2以上版本…
ATR:answer to reset  复位应答 ATS:answer to select 选择应答…
iOS 9发布后,原来开发的iPad应用在iOS9下面测试时,协议使用的是HTTP,发送网络请求时,Console窗口输出: App Transport Security has blocked a cleartext HTTP(http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. 由上面的提示可以知道,ATS阻止了不安…
原文连接:https://onevcat.com/2016/06/ios-10-ats/ WWDC 15 提出的 ATS (App Transport Security) 是 Apple 在推进网络通讯安全的一个重要方式.在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的.当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将 NSAllowsArbitraryLoa…
编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三…
我在Yahoo与ATS 九死一生的故事 http://www.sunchangming.com/blog/post/4667.html 去年9月,我去Yahoo后领导交给我的第一件事,就是把Yahoo内部一个过时的.已经End-Of-Life的http server换成Apache Traffic Server(ATS).这件事情就类似于把某网站的架构从apache+tomcat变成nginx+tomcat一样,可以说非常简单.我只管更改一下安装脚本,剩下的让运维工程师去线上操作就行了.Too…
昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Nginx+HTTPS服务. 安装 HTTPS 最麻烦的问题应该就是获取证书了,证书感觉种类也挺复杂的,有好几种,单域.泛域.多域...还有个种标准乱七八糟的感觉,而且收费很高,还是每年买的. 现在各个云服务商也都有提供各种基础功能的免费证书,但似乎很多只对单域免费,这里的单域是指每个二级域名都算是一个域…
配置指南: 需要配置符合PFS规范的加密套餐,目前推荐配置: ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4 需要在服务端TLS协议中启用TLS1.2,目前推荐配置: TLSv1 TLSv1.1 TLSv1.2 1.Nginx 证书配置 更新Nginx根目录下 conf/nginx.conf 文件如下: server {    ssl_ciphers ECDHE-RSA-AES128-GCM-…
推荐理由 ATS(App Transport Security),是苹果在WWDC 15提出的,苹果将收紧http的访问,这样会造成我们周边的许多站点和应用均不能正常访问,这里就对ATS进行了简单分析.和如何利用TBS解决ATS问题. 2017年1月1日以后,所有iOS需要访问网页的app都要面临一个问题:ATS. ATS(App Transport Security),是苹果在WWDC 15提出的,Apple 在推进网络通讯安全的一个重要方式,按照苹果的要求非https的网络访问是被禁止的:当…
理解缓存分级cache hierarchies 缓存分级是由彼此能够相互通信的各级缓存组成的,ATS支持几种类型的缓存分级.所有的缓存分级都有父子缓存概念. 父缓存位于缓存分级的较高级别,ATS能将请求转发(farward)转发给它.子缓存就是将ATS作为父缓存的缓存. ATS支持父缓存和ICP两种形式的缓存选项.父级缓存Parent Caching 假如ATS节点在自身缓存中找不到请求对象,那么它将查询父缓存,父缓存找不到的情况下,会继续查找其它缓存,如果父缓存都找不到,就会回源去取. 你能够…
ATS缓存数据结构 HttpTunnel类 数据传输驱动器(data transfer driver),包含一个生产者(producer)集合,每个生产者连接到一个或是多个消费者(comsumer).隧道(tunnel)处理事件和缓冲区以便数据能从生产者移动到消费者,数据会尽可能保存在引用计数类型的缓冲区中.只有数据发生变动,或者在数据源(它从ATS外部获取数据)和数据接收端(它将数据发送到ATS外部)的情况下,才会发生拷贝操作. HTTPCacheAlt类 定义在HTTP.h中,它是一个缓存对…
在ATS日志中我们经常遇到形形色色的缓存结果码,为了更清晰地认识它们,相关资料整理到这里: TCP_HIT 请求对象的一份合法拷贝被缓存,ATS将发送该对象给client TCP_MISS 请求对象未缓存,ATS会从源站或是父代理那里获取请求对象,并发送给client TCP_REFRESH_HIT 请求对象已缓存,但是旧的(stale),ATS向源站发送if-modified-since请求,源站回应304 not-modified响应,ATS发送(依然fresh的)缓存对象给client T…
一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全:而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据.HTTP和SSL/TSL都处于OSI模型的应用层.从HTTP切换到HTTPS是一个非常简单的过程,在做具体的切换操作之前,我们需要了解几个概念: SSL/TLS 为了保证这些隐私数据能加密传…
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现.网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的HTTPS不仅仅是在接口HTTP上加个S那么简单:它所有满足的是iOS9中新增App Transport Security(简称ATS)特性:那满足ATS我们需要做什么呢1.必须是苹果信任的CA证书机构颁发的证书2.后台传输协议必须满足: TLS1.2 (这很重要, 后面的自制证书满足这个条件是前提…