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

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

阅读 509
1 个回答

这个报错是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设置为"",使用系统默认的证书,可以解决问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏