• 如何排查APP服务端和客户端是否支持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。如果必须使用这类功能,则需要给客户端

  • 相关阅读:
    LeetCode Missing Number (简单题)
    LeetCode Valid Anagram (简单题)
    LeetCode Single Number III (xor)
    LeetCode Best Time to Buy and Sell Stock II (简单题)
    LeetCode Move Zeroes (简单题)
    LeetCode Add Digits (规律题)
    DependencyProperty深入浅出
    SQL Server存储机制二
    WPF自定义RoutedEvent事件示例代码
    ViewModel命令ICommand对象定义
  • 原文地址:https://www.cnblogs.com/kabi/p/6198204.html
Copyright © 2020-2023  润新知