easycode不推荐使用_为什么不推荐APP使用SSL-PINNING?

7057a13e44e5ed813e5f2549d89f5204.png

梗概

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

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

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

改进

1.

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

b8fd7fc17d80b4974f914dc8f187d11a.png

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

2.

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

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

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

更稳妥的做法

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

-----
帝玺科技(上海),您身边的ssl证书专家。现在联系我可免费体验半年多域名通配符证书。
www.digital-sign.com.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值