如何排查APP服务端和客户端是否支持ATS

本文提供了服务端ATS配置检查步骤及客户端ATS支持确认方法。包括密钥算法、签名算法、协议版本、加密套件等内容,并指导如何确保客户端通过域名访问且第三方服务也支持ATS。

服务端排查

取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口。针对公网可访问的生产环境地址,建议使用的在线监测工具。https://wosign.ssllabs.com/

Summary部分显示的是总体评分,显示绿色的A即为安全。如果评分低于A,则需要具体分析减分项,并逐一修复。

1.在Authentication部分,需要确认如下内容:

·–Key中的算法为RSA、秘钥长度大于等于2048位,或者算法为ECC、秘钥长度大于等于256位。

·–Signature algorithm中的签名算法为下列支持的算法之一:

SHA256WithRSA

SHA384WithRSA

SHA512WithRSA

ECDSAWithSHA256

ECDSAWithSHA384

ECDSAWithSHA512

2.在Configuration部分,需要确认如下内容:

· –Protocols下,TLS 1.2必须为Yes,TLS 1.0、1.1可以为Yes(为了兼容旧设备),SSL 2/3必须为No。

· –Cipher Suites必须包含如下算法中的一个或多个:

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

确认过以上内容,即表示服务端符合

 

客户端排查

客户端从iOS 9 SDK起默认开启ATS,一般无需进行代码改造。需要注意如下几点:

· 客户端需要以域名的方式连接服务器,IP地址形式的连接,是不符合ATS要求的。

·客户端如果需要访问第三方服务器,或者内嵌了第三方提供的SDK,则需要确认第三方的服务端开启了ATS支持。

·客户端工程中的Info.plist中,不能包含NSAllowsArbitraryLoads键及其他NSAllowsArbitrary*键。

注意以上几点,即可保证客户端支持ATS。

客户端内嵌入了第三方的SDK,不容易得知第三方服务是否开启ATS支持。检查的方式是,在开启确认客户端ATS支持后,进行功能测试,确认第三方提供的功能在ATS开启后还能正常运转。

如果第三方提供的功能在ATS模式下无法正常运转,则表明其不支持ATS。如果必须使用这类功能,则需要给客户端

转载于:https://www.cnblogs.com/kabi/p/6198204.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值