iOS安装自签根CA证书后证书信任设置不显示问题咨询
故障原因
iOS对可纳入手动信任列表的根CA证书有强制扩展字段要求,你当前签发的根证书缺少必填的X509v3 Key Usage扩展,因此即使安装流程走完、系统提示已验证,也不会出现在「证书信任设置」的可信任根证书列表中。
从你提供的证书解析结果看,现有证书仅配置了CA基础约束、主体密钥标识、颁发机构密钥标识三类扩展,缺失的密钥用法扩展必须标记为critical(关键)级别,且至少包含keyCertSign(签发子证书权限)、cRLSign(签发吊销列表权限)两个权限值,才能被iOS识别为合法的根CA证书。
修复操作
- 调整根证书签发的OpenSSL配置,补充必填的扩展段配置,参考配置如下:
[ v3_root_ca ] basicConstraints = critical, CA:TRUE keyUsage = critical, keyCertSign, cRLSign subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer
- 重新签发根CA证书,签发时指定加载上述
v3_root_ca扩展配置,确认新生成的证书解析结果中包含对应keyUsage字段。 - 进入iOS的「通用→VPN与设备管理」,删除之前安装的旧版根证书。
- 将新生成的根CA证书传到iOS设备完成安装,安装完成后再进入「通用→关于本机→证书信任设置」,即可找到对应证书条目,手动开启全量信任即可正常使用。
注意:iOS 10.3及以上版本,所有手动安装的自签根证书都必须在证书信任设置中手动开启信任,否则系统全局、Safari及第三方App都不会认可该根CA签发的HTTPS证书。你当前使用的4096位RSA密钥长度符合iOS安全要求,无需调整。
内容的提问来源于stack exchange,提问作者m_s
相关产品推荐
相关产品推荐

