App审核被拒Ipv6 相关,及HTTPS证书问题(单向认证)

App审核被拒——Ipv6相关


        首先,检测App是否支持IPv6。

        教程1:连网线建立ipv6测试环境

        教程2:无网线建立ipv6测试环境

        官方文档:连网线建立ipv6测试环境

        若是测试通过,则说明客户端应用在IPv6网络下,是(基本)没有问题的。但是此操作无法验证服务器能够对IPv6网络做出正确的响应。

        若是IPv6测试环境测试没有通过,解决方案:

        ① 更换第三方的SDK至最新版本。支付宝支付,微信支付,第三方登录、分享,环信等。

        ② 老版本的网络请求函数。ASI,AFN。注意:确认IPv6搭建连接是否正确,所有功能是否在IPv6下都测试了,App需安装在iPhon6以上的机器测试,iPhon5连不上IPv6 wifi,搭建IPv6可以使用Mac连接网线(教程1)或Mac连无线(教程2)。

        ③ socket请求适配IPv6,我们这暂时没有使用这方面,可略过此操作。参考

        ④ IPv6下,测试App所有界面,哪里网络连接失败就换或者改对应的代码。

        一般,这些操作后,App通过IPv6测试是没问题的。

       还需要检测服务器是否支持IPv6。打开终端,执行dig +nocmd +nostats 域名 AAAA


检测服务器是否支持ipv6

        若执行后,status对应的码是NOERROR,则基本没问题。如果返回的响应是SERVFAIL,在已经验证了客户端没有问题前提下,剩下的就是运维、后台的工作了,需要服务器更改DNS配置,直到稳定返回NOERROR。

        以上操作跑一遍后,提交审核,还是并不能保证审核百分之百能过。对策:

        ① 运维/服务器参考:针对苹果官方ipv6审核的综合解决方案 及内部链接;

        ② 拍视频给审核人员,视频内容需详细:搭建环境的过程(上面教程1或者2的操作过程)。手机打开飞行模式,正确连接电脑wifi的过程,所有标记搭建IPv6环境搭建成功的画面,App所有界面(都可以加载数据)运行良好的状态的画面。视频展示给审核人员的方法:① 视频传到youtwobe,把视频链接Reply给苹果。② 直接Reply视频文件压缩打包给苹果。我在用户端1.0版提交审核时使用过这个方法,审核通过(注:我们的用户端1.0被拒,苹果给出的不是IPv6)。

        客户端代码部分是咱们开发者自己解决。至于服务器端无法解决,有必要找专业人员参与。

        最后,IPv6的整体流程:

        1)先搭建IPv6测试环境;

        2)确保服务器支持IPv6;

        3)再把每个界面点一下,观察所有的网络是否有异常,哪里不会(对)点(修改或者更换)哪里;

        4)服务器端无法解决,有必要找专业人员参与。


         一个情况,我们的用户端App 2.0第一次提交审核被拒,苹果给出原因IPv6。情况分析:2016年12月31日提交审核,在提交审核之前,测试所有流程均可跑通。2017年1月6日,苹果给出审核结果,是IPv6,登录界面无法登录进入App。测试后发现:在iOS10.0的真机上,所有流程还是没问题。在10.3的模拟器或者真机上出现问题。纠结一番后,向后台要来证书,xxx.crt。需要把这个.crt文件转成.cer或者.der文件。打开终端:

.crt转.der:openssl x509 –in xxx.crt文件路径-out xxx.der文件路径-outform DER

.crt转.cer:openssl x509 -in xxx.crt文件路径-out xxx.cer文件路径-outform DER

当我把证书转换后,在“钥匙串访问”中查看此证书,可以看到:

服务器证书

        也就是由不被信任的签发者签名颁发的。查一下StartCom,这是被沃通收购的机构(http://digi.163.com/16/1102/09/C4RVPJA1001687H3.html)。沃通和StartCom由于涉及到一些非法签名的案例,先后被苹果和谷歌取消信任,等待其悔过自新……至于什么时候能恢复信任,还是未知数;

        把请求的https://ssl.heartbook.com.cn放到Safari里,第一次有“此网址不被信任,是否继续”的提示;

       另外,检测HTTPS服务器是否符合ATS特性中的要求:终端执行:nscurl --ats-diagnostics --verbose https://xxx.com

ATS特性检测截图 1


ATS特性检测截图 2

        截图是检测我们的HTTPS服务器,TLSv1.0 /1.1 /1.2,result均为FAIL。原因:不受信任的证书,通不过ATS的检测。

        那么,我们的用户端App2.0审核被拒的原因,是服务器证书不被信任造成的。

        解决此问题的方法:

        ① 通过代码来调整,信任服务器的证书(我的解决办法是使用的这个方法)。个人觉得坏处是:以后的每个App里面都要这么设置,或者苹果又要修改什么后会有未知情况发生,影响已上线的App,需要重新发版本才能修复线上,但重新发版本又需要一定的审核时间。

        首先,按上文步骤,向服务器要证书,转成.cer,把.cer文件拖到工程里。我们的请求工具是用AFnetworking封装的类,修改此类,添加代码。关键代码:在AFHTTPSessionManager实例化前,设置securityPolicy.allowInvalidCertificates = YES;(截图中handle是AFHTTPSessionManager)。


在请求工具中,AFHTTPSessionManager前添加

        ② 服务器端使用受信任、合法的证书。使用这个解决方案,可以说治标治本。App端基本什么都不用管,http改成https就OK。个人觉得好处:如果苹果官方做有关这方面的改动,对已上线的App影响不会太大。起码出问题受影响的线上App不用重新发版本,只需服务器端做相应的修改,即可修复。


        补充一点:解决Mac Pro无法插网线上网( 不是广告 *(→ _ ←)* )。

        由于Mac自身机身厚度的限制,使机身本身无法直接连接网线。那么就需要一个外接网线转换头,我使用的是绿联的产品(绿联USB百兆网卡)。

        如果Mac是第一次是使用这个产品,需要安装驱动。驱动下载连接:http://www.lulian.cn/download/26-cn.html。下载时选择Mac OX 10.*对应的驱动。驱动安装是类似Windows傻瓜式的安装方式,一路下一步,最后“完成”,重启电脑。

        重启后,插上设备,连上网线,打开系统偏好设置–网络–点击左下角的“+”号–点开接口(可以发现别安装驱动前多了一个选项:USB以太网,选之)-服务名称(自己起个名字)-创建即可。


添加网络接口


选择USB以太网,命名后,创建

参考:


关于iOS启用ATS安全标准的说明

iOS 中 AFNetworking HTTPS 的使用

iOS开发HTTPS实现之信任SSL证书和自签名证书

iOS 迁移到HTTPS(自建证书+单向验证+AF3.0+WKWebView+SDWebImage)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容