HarmonyOS 设置代理之后,文件上传接口会报证书错误,其他接口正常

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

这个报错是CA证书无法与已知的受信任的CA匹配(未知_ca),需要将浏览器或应用程序配置为信任charies根证书。

参照下SSL代理步骤,查看是否配置的有问题

一、HarmonyOS端Charles导出证书,点击 Help—>SSL Proxying—>Save Charles Root Certificate。

二、 导入系统根证书至手机:

方案【1】:启动证书安装器进行指定pem证书安装:

1) 将Charles导出的pem文件hdc file send到手机存储器内。

2) hdc shell aa start -a MainAbility -b com.ohos.certmanager 启动证书安装器。

3) 手机上选择从存储设备安装,选择指定pem证书 方案。

方案【2】:替换CA证书,证书路径为沙箱映射路径,系统预设CA证书位置:/etc/ssl/certs/cacert.pem,将Charles导出的pem文件hdc file send到此路径下(目前仅支持后缀名为.pem的文本格式证书)。

三、安装Charles证书到HarmonyOS系统可信目录,操作步骤: 点击 Help—>SSL Proxying—>Install Charles Root Certificate—>安装证书—>选择证书存储路径为:受信任的根证书颁发机构。

四、设置代理,操作步骤:

1)点击 Proxy—>SSL Proxy Settings—>在Include添加 : 和 *:443。

2)点击 Proxy—>Proxy Settings—>勾选Enable transparent HTTP proxying。

五、HarmonyOS App开发时,系统原生HTTP数据请求能力HttpRequestOptions参数设置。

1)设置usingProxy为true,表示使用HTTP代理。

2)设置caPath为"/etc/ssl/certs/charles-ssl-proxying-certificate.pem"(示例),如默认使用系统预设CA证书目录:/etc/ssl/certs/cacert.pem,也需要手动设置。

六、将手机与电脑连接在同一局域网下,手机连接WiFi时,在输密码界面,把“代理”设置为手动,设置代理IP,端口为Charles监听的端口,在上述步骤四的Proxy Settings中可以查看和修改。

七、打开charles,开始抓包 将caPath设置为"",使用系统默认的证书,可以解决问题。

分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 文件上传接口数据返回信息
57浏览 • 1回复 待解决
HarmonyOS 上传 app 文件, 提示 996 错误
125浏览 • 1回复 待解决
调用广告接口,返回错误码21800003
526浏览 • 1回复 待解决
OH_NativeImage_UpdateSurfaceImage接口错误
1712浏览 • 1回复 待解决
通过saveDocument()接口保存文件
435浏览 • 1回复 待解决
http接口如何设置cookie
1985浏览 • 1回复 待解决
HarmonyOS 文件上传入参设置
68浏览 • 1回复 待解决
华为事件通知接口返回10008错误
9312浏览 • 2回复 待解决