HarmonyOS 鸿蒙Next HTTPS校验问题
HarmonyOS 鸿蒙Next HTTPS校验问题
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协议配置等方面。
-
证书验证:确保服务器提供的SSL/TLS证书是由受信任的证书颁发机构(CA)签发,且证书未过期、未吊销,同时包含正确的公钥和域名信息。证书链必须完整,以便客户端能成功验证根证书。
-
域名匹配:HTTPS请求中的域名必须与证书中的域名完全一致,包括子域名和顶级域名。检查请求URL中的域名与证书中Subject Alternative Name(SAN)字段列出的域名是否匹配。
-
TLS协议版本:确保客户端和服务器支持的TLS协议版本兼容。HarmonyOS鸿蒙Next系统可能默认使用较新的TLS版本,如TLS 1.2或TLS 1.3,而老旧服务器可能仅支持TLS 1.0或TLS 1.1。
-
系统配置:检查鸿蒙系统的网络配置,确保没有禁用HTTPS证书验证的相关设置。某些开发或调试模式下,系统可能允许绕过HTTPS校验,但生产环境应严格启用。
-
错误日志:详细查看客户端和服务器端的错误日志,这些日志通常能提供HTTPS校验失败的具体原因,如证书错误、域名不匹配或协议不兼容等。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html