zoukankan      html  css  js  c++  java
  • 004_为什么不推荐APP使用SSL-PINNING

    背景

    之前工作的经历,前面技术团队的APP使用了SSL-PINNING,服务器SSL证书到期前,测试环境更换证书,在更换配置OK后,发现APP停止服务了。所有的请求全部都失败。

    后来查到是APP使用了SSL-PINNING。

    也就是SSL-PINNING证书到期后会导致APP拒绝服务。

    改进

    1.

    其实,我们除了内置服务器自己的证书,也可以内置厂商中间证书。比如

    像这份GeoTrust RSA CA 2018中间证书是2027年到期。一般的APP是不会10年了还可以不改版继续使用的。但假设发生一例10年不更新的用户的案例,也会发生APP停止服务。

    2.

    根据如何正確設定 AFNetworking 的安全連線 « Nelson 寫些 iOS 開發的東東 提供的思路,可以将证书的publicKey部分提取到客户端硬编码,每次建立TLS连接时候,匹配公钥。

    服务器在更换续费证书时不要更换私钥就行了。

    * 推荐需要实现防用户自己抓包的APP采取本方案。

    更稳妥的做法

    走默认的操作系统CA验证,但不要APP自己内置。因为APP没有证书更新、撤销机制,内置后无法对这份清单进行维护。

  • 相关阅读:
    Python 简单总结
    Python 简单总结
    Python 简介
    Python基础题
    Python基础题
    tDQSS
    parameter–precharge, tRCD and tRAS
    parameter–key parameters
    parameter -- tWR
    命令集
  • 原文地址:https://www.cnblogs.com/itcomputer/p/9712095.html
Copyright © 2011-2022 走看看