HarmonyOS 鸿蒙Next HTTPS校验问题

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next HTTPS校验问题

怎么引用rawfile里边的证书,然后公钥以及最下边那个文件密码需要怎么配置。

2 回复

1、关于如何引用rawfile: 网络没有直接的接口获取证书,获取rawfile资源目录下证书都是用的resourceManager能力获取,请参考如下代码:

createFile(filePath : string , buffer : ArrayBuffer | string){

  getContext(this).area = 0

  let context: Context = getContext(this);

  const keyPemConent = context.resourceManager.getRawFileContentSync('zx.cer')

  let filesDir: string = context.filesDir

  filePath = filesDir + "/testCer.pem";

  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);

  fs.writeSync(file.fd, keyPemConent.buffer);

  fs.fsyncSync(file.fd);

  fs.closeSync(file);

}

2、关于获取证书公钥:

可以参考下列文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/certmanager-guidelines-V13

import cryptoFramework from ‘@ohos.security.cryptoFramework’;

import certFramework from ‘@ohos.security.cert’;

let pubKey:cryptoFramework.PubKey= x509Cert.getPublicKey();

3、关于设置文件密码:

没有密码可以不设置,有些加密文件,有密码才可以打开,所以才有密码这个字段。没有密码就不用写,不写就会用ide默认的。

更多关于HarmonyOS 鸿蒙Next HTTPS校验问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,HTTPS校验问题通常涉及证书验证、域名匹配及TLS协议配置等方面。

  1. 证书验证:确保服务器提供的SSL/TLS证书是由受信任的证书颁发机构(CA)签发,且证书未过期、未吊销,同时包含正确的公钥和域名信息。证书链必须完整,以便客户端能成功验证根证书。

  2. 域名匹配:HTTPS请求中的域名必须与证书中的域名完全一致,包括子域名和顶级域名。检查请求URL中的域名与证书中Subject Alternative Name(SAN)字段列出的域名是否匹配。

  3. TLS协议版本:确保客户端和服务器支持的TLS协议版本兼容。HarmonyOS鸿蒙Next系统可能默认使用较新的TLS版本,如TLS 1.2或TLS 1.3,而老旧服务器可能仅支持TLS 1.0或TLS 1.1。

  4. 系统配置:检查鸿蒙系统的网络配置,确保没有禁用HTTPS证书验证的相关设置。某些开发或调试模式下,系统可能允许绕过HTTPS校验,但生产环境应严格启用。

  5. 错误日志:详细查看客户端和服务器端的错误日志,这些日志通常能提供HTTPS校验失败的具体原因,如证书错误、域名不匹配或协议不兼容等。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部