HarmonyOS 鸿蒙Next http请求中的caPath路径该如何指定?

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

HarmonyOS 鸿蒙Next http请求中的caPath路径该如何指定?

当前把证书安排在hsp里面,在base/common/src/main/resources/rawfile/spdbccc.cer,我在http请求中,caPath该如何指定?

2 回复

看下以下文档是否可以解决问题,使用沙箱绝对路径,可通过Global.getContext().filesDir获取应用沙箱路径: 参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-http-V13#httprequestoptions

请求时capath参数设置证书路径可参考如下demo:


requestHttp(url: string): Promise<string> {

//文件方式写入pem(导入证书需要放在rawfile资源目录下)

getContext(this).area = 0

let context: Context = getContext(this);

const keyPemConent = context.resourceManager.getRawFileContentSync('_.cnfic.com.cn.pem')

let filesDir: string = context.filesDir

let filePath = filesDir + "/testCer2.pem"; ///etc/ssl/certs/cacert.pem /storage/media/100/local/files/Docs/Download/charles-ssl-proxying-certificate.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);

return new Promise((resolve, reject) => {

let httpRequest = http.createHttp();

httpRequest.request(

url,

{

method: http.RequestMethod.GET,

connectTimeout: 60000,

readTimeout: 60000,

//抓包参数设置

usingProxy:true,

caPath :filePath , // "/data/local/tmp/NewFile.pem"

}, (err: BusinessError, data) => {

console.info('1---- url:' + JSON.stringify(url));

if (!err) {

// data.result为HTTP响应内容,可根据业务需要进行解析

console.info('1---- arrResult:' + JSON.stringify(data.result));

let obj: object = JSON.parse(JSON.stringify(data.result));

console.info('1---- header:' + JSON.stringify(data.header));

console.info('1---- cookies:' + JSON.stringify(data.cookies));

console.info('1---- code:' + JSON.stringify(data.responseCode));

httpRequest.destroy();

} else {

console.info('1---- error:' + JSON.stringify(err));

console.info("1 ---------------------------------------------")

httpRequest.destroy();

}

})

});

}

更多关于HarmonyOS 鸿蒙Next http请求中的caPath路径该如何指定?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,针对HTTP请求中的caPath路径指定,通常用于配置CA(证书颁发机构)证书的路径,以确保SSL/TLS连接的安全性。在鸿蒙的API设计中,caPath的指定通常与网络安全配置相关。

要在鸿蒙系统中指定caPath,你需要确保证书文件已正确放置在应用的资源目录中,或者已通过其他方式被系统访问到。然后,在发起HTTP请求时,通过相应的网络请求配置接口,将caPath参数设置为证书文件的路径。

例如,如果使用鸿蒙提供的网络库进行HTTP请求,你可能会在创建请求对象或配置请求参数时,找到设置caPath的接口。这个接口可能是一个字符串类型的参数,用于接收证书文件的路径。

请注意,路径的格式和解析方式可能会因鸿蒙系统的版本和API设计而有所差异。因此,建议查阅最新的鸿蒙开发文档,了解如何在你的具体开发环境中正确指定caPath

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

回到顶部