HarmonyOS鸿蒙Next中TTP数据请求caPath设置失效或者其他域名证书请求仍然能发送成功

HarmonyOS鸿蒙Next中TTP数据请求caPath设置失效或者其他域名证书请求仍然能发送成功 想在HTTP请求时做证书单项认证,用来CA路径(caPath)和预置应用级证书方式使用过期证书仍然能正常发请求。

CA路径方式看日志断点证书已取到。 预置应用级证书只新建了network_config.json文件,是否还需要在module.json5里做配置?

另外想了解下CA路径和预置应用级证书的区别。

3 回复

如果设置失效证书请求仍然能发送成功应是默认使用了系统预设的CA证书

HTTP的capath是取得并集,即用户传入证书+系统默认证书,其中有一个有效就可以请求成功,如果希望只使用用户传入证书的话,可以使用证书锁定。

证书锁定图中,只是配置了应用级证书,没配置证书锁定 预置证书公钥哈希值的配置例子如下:

{
  "network-security-config": {
    "domain-config": [
      {
        "domains": [
          {
            "include-subdomains": true,
            "name": "server.com"
          }
        ],
        "pin-set": {
          "expiration": "2024-11-08",
          "pin": [
            {
              "digest-algorithm": "sha256",
              "digest": "FEDCBA987654321"
            }
          ]
        }
      }
    ]
  }
}

预置应用级证书

更多关于HarmonyOS鸿蒙Next中TTP数据请求caPath设置失效或者其他域名证书请求仍然能发送成功的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,TTP数据请求的caPath设置失效或域名证书请求仍然能够成功发送,可能是由于以下原因:

  1. 证书链验证问题:系统可能未正确验证证书链,导致即使caPath设置不正确,请求仍能成功。这可能是由于系统默认信任某些根证书或中间证书,未严格验证用户指定的caPath。

  2. 证书缓存机制:系统可能缓存了之前验证过的证书,导致即使caPath设置失效,系统仍使用缓存的证书进行验证,从而使请求成功。

  3. 默认信任策略:HarmonyOS可能内置了默认的信任策略,即使caPath设置不正确,系统仍可能信任某些常见的证书颁发机构(CA),从而导致请求成功。

  4. 网络库实现差异:不同的网络库在实现TTP请求时,对证书验证的处理可能存在差异,导致caPath设置未按预期生效。

  5. 系统版本或配置问题:某些HarmonyOS版本可能存在证书验证的配置问题,导致caPath设置失效。建议检查系统版本和相关配置。

  6. 开发者模式或调试设置:在开发者模式或调试设置中,可能启用了某些选项,如忽略证书验证,导致即使caPath设置不正确,请求仍能成功。

这些问题可能与系统实现、配置或开发环境有关,需进一步排查具体原因。

在HarmonyOS鸿蒙Next中,如果在TTP数据请求中设置了caPath但发现失效,或者即使配置了证书,其他域名的请求仍然能成功发送,可能是以下原因导致的:

  1. 证书配置错误:确保caPath指向的证书文件路径正确,且证书内容有效。
  2. 网络库版本问题:检查使用的网络库版本,确保其支持caPath配置。
  3. 证书验证未启用:某些网络库默认不开启证书验证,需手动启用。
  4. 域名不匹配:证书的域名与请求的域名需完全匹配,否则验证会失败。
  5. 系统权限问题:确认应用有读取证书文件的权限。

建议检查网络库的日志输出,确认证书验证流程是否正常执行。

回到顶部