iOS 开发-请教下 Alamofire 的证书验证策略 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Bananana
V2EX    Apple

iOS 开发-请教下 Alamofire 的证书验证策略

  •  
  •   Bananana 2022-08-02 08:40:10 +08:00 via iPhone 1818 次点击
    这是一个创建于 1168 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对 Alamofire 设置了公钥验证模式,.pinPublicKeys ,如果证书一段时间后过期了,ssl 还能成功握手吗?我司证书一年的
    jasonnz
        1
    jasonnz  
       2022-08-02 08:46:14 +08:00
    期了,肯定不能啦。
    Bananana
        2
    Bananana  
    OP
       2022-08-02 08:54:34 +08:00 via iPhone
    @jasonnz 请问有啥好办法吗,如果证书快过期了,只能 app 发版解决吗。但这样老版本也会有问题啊
    Bananana
        3
    Bananana  
    OP
       2022-08-02 09:02:14 +08:00
    看到网上一篇帖子对 publicKey 的解释,说只要公钥不变,就可以一直使用,不用更新证书,不用担心证书过期了。
    这个有朋友知道是真的吗

    2 、公钥验证模式:
    如果采用公钥验证模式,则使用 .pinPublicKeys 这个枚举值,第一个参数传公钥,其他参数和证书验证模式一样:
    case pinPublicKeys(publicKeys: [SecKey], validateCertificateChain: Bool, validateHost: Bool)
    复制代码第一个参数直接传递 Alamofire 提供给我们的 ServerTrustPolicy.publicKeys() 方法即可。公钥验证模式的好处是,只要公钥不变,就可以一直使用,不用更新证书,不用担心证书过期了。

    作者:凡几多
    链接: https://juejin.cn/post/6844903925770878989
    来源:稀土掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    dzdh
        4
    dzdh  
       2022-08-02 10:11:30 +08:00
    更换证书时不更换私钥。就不影响。

    在申请证书时候的 CSR 是包含了你私钥对应的 PublicKey 的。pin 的也是这个。

    但是如果一旦更换了私钥,就是证书续期的时候重新生成了个私钥,那就有影响了。
    crackid
        5
    crackid  
       2022-08-02 11:42:37 +08:00
    只要续签证书的时候记得拿你 pin 的公钥来生成 csr ,这样新证书的公钥是不变的,你代码验证就能通过
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1404 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 16:58 PVG 00:58 LAX 09:58 JFK 12:58
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86