HarmonyOS鸿蒙Next 5.0以上系统无法识别手动安装根证书

HarmonyOS鸿蒙Next 5.0以上系统无法识别手动安装根证书 【问题描述】

我有一个H5应用,在内网环境部署,客户通过企业微信访问H5应用。因H5应用中需要录音录像,所以使用自签证书提供了https服务。在安卓系统、鸿蒙4.2系统、IOS系统中均可以使用自签证书进行访问该H5应用,但是5.0以上的鸿蒙系统均不可以使用自签证书访问该应用。目前推测下来,系统无法识别手动安装的根证书。

【问题现象】

5.0以上的鸿蒙系统,无法使用手动安装的根证书访问应用。

【版本信息】

该情况可以在5.0以上的鸿蒙系统中复现。

【复现代码】

使用nginx提供服务,模拟现场环境即可。

【尝试解决方案】

解决方案麻烦查看一下附件,谢谢


更多关于HarmonyOS鸿蒙Next 5.0以上系统无法识别手动安装根证书的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

尊敬的开发者,您好!您的问题已受理,请您耐心等待,感谢您的理解与支持!

更多关于HarmonyOS鸿蒙Next 5.0以上系统无法识别手动安装根证书的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next 5.0以上系统对根证书安装有严格限制。系统仅识别预置根证书和通过受控渠道安装的企业级证书,手动导入的根证书会被系统安全机制拦截。这是由于鸿蒙强化了证书链验证机制,禁止用户侧直接修改系统信任存储。若需特定根证书生效,必须使用系统证书管理API或由应用通过授权证书安装流程实现。

在HarmonyOS Next 5.0及以上版本中,系统对证书验证机制进行了强化,默认不再信任用户手动安装的根证书,这是出于安全考虑。以下为具体原因及解决方案:

  1. 安全策略升级:5.0版本引入了更严格的证书链验证机制,仅信任系统预置或通过受控渠道(如企业MDM)部署的证书,自签证书需满足系统级信任条件。

  2. 解决方案

    • 企业场景:建议通过企业设备管理(如AppGallery Connect企业证书分发)部署根证书,确保系统级信任。
    • 开发调试:若为测试环境,可尝试在应用代码中配置网络安全策略(如NetworkSecurityPolicy),但需注意此方式可能受系统限制。
    • 服务端调整:考虑使用公共可信CA签发的证书(如Let’s Encrypt),避免依赖自签证书。
  3. 兼容性说明:此行为与Android 7.0+的网络安全配置变更类似,属于系统级增强,非系统缺陷。建议适配长期可信证书方案。

回到顶部