V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zj9495
V2EX  ›  iPhone

iOS15 如何信任自签名证书?

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

    给家里的 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
    注意回答中的代码有一行 extendedKeyUsage ,这个就是 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   ·   我们的愿景   ·   实用小工具   ·   1395 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:41 · PVG 07:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.