iOS15 如何信任自签名证书? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zj9495
V2EX    iPhone

iOS15 如何信任自签名证书?

  •  
  •   zj9495 2022-06-01 17:43:12 +08:00 14600 次点击
    这是一个创建于 1227 天前的主题,其中的信息可能已经有所发展或是发生改变。

    给家里的 nas 上了一套 openssl 自签名的 HTTPS 证书。
    在 mac 上已经信任了证书都有了小绿锁,但是在 iPhone 上安装证书后还是显示尚未验证,证书信任设置里也没看到安装的证书。尝试使用 Safari/邮件下载证书安装都不行,难道是现在 iOS 已经不能信任自签名证书了吗? IMG_2639.PNG IMG_2640.jpg

    10 条回复    2022-06-02 11:50:25 +08:00
    a1274598858
        1
    a1274598858  
       2022-06-01 17:57:59 +08:00
    先安装 CER ,然后启用。。https://s3.bmp.ovh/imgs/2022/06/01/9c4339a83df5edc3.jpg

    好像要根证书才能这样?
    laoyur
        3
    laoyur  
       2022-06-01 18:21:16 +08:00
    有时间限制,最长 390 多天好像,所以你换个短一点的试试呢
    crab
        4
    crab  
       2022-06-01 18:45:17 +08:00
    证书有效期是不是超过 398 天了?
    processzzp
        5
    processzzp  
       2022-06-01 19:22:45 +08:00 via iPhone
    @laoyur 根证书没有这个限制
    @zj9495 多半是你的描述文件没写对,PayloadType 是 com.apple.security.root ,PayloadContent 里只放公钥
    hguandl
        6
    hguandl  
       2022-06-01 22:01:21 +08:00
    有两个可能的问题,一个是时间太长,另一个是 EKU 没有设置好,我觉得后者可能性更大一些。
    iOS 的相关规定可以参考 https://support.apple.com/zh-cn/HT210176

    苹果要求的 serverAuth EKU 应该无法直接添加给 CA ,所以需要多一个步骤。

    1. 自行签署一个 CA
    2. 用 CA 签署一个服务器证书,EKU 中包含 serverAuth
    3. 为设备安装 CA 证书,NAS 使用服务器证书

    具体教程可以看 https://stackoverflow.com/questions/21297139/how-do-you-sign-a-certificate-signing-request-with-your-certification-authority/21340898#21340898
    注意回答中的代码有一行 extendeKeyUsage ,这个就是 EKU ,需要取消前面的 # 注释。其他的安装教程操作即可。
    zj9495
        7
    zj9495  
    OP
       2022-06-02 09:34:43 +08:00
    @laoyur #3
    @crab #4 日期是一年的,所以没超过 398 天

    @a1274598858 #1
    @processzzp #5 所以说得信任根证书才行?我信任的应该是服务器证书
    zj9495
        8
    zj9495  
    OP
       2022-06-02 09:41:34 +08:00
    @hguandl #6 我 iPhone 应该安装的是服务器证书,就是 cert 格式的那个 。这么说我应该安装 CA ?但是我这 cert 证书在 macos12 上信任以后,Safari/Chrome 都能正常使用了,是不是已经符合苹果的要求了?我来再按照链接里的配置试试~
    hguandl
        9
    hguandl  
       2022-06-02 10:11:57 +08:00
    @zj9495 我也发现 macOS 只需要添加服务器证书就可以用了,iOS 实际上会更严格一些,需要安装的是 CA 。
    jim9606
        10
    jim9606  
       2022-06-02 11:50:25 +08:00
    建议用自建 CA 而不是自签名证书。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5841 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:34 PVG 14:34 LAX 23:34 JFK 02:34
    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