【问题1】
鸿蒙手机配置网络代理,只能断开wifi连接,然后再重新连接时才能配置代理?是这样的吗?华为设备网络代理配置需要长按对应的wifi配置弹出,但鸿蒙手机中貌似不管用。
解答
是的。当前确实需要断开WIFI再重新连接时配置代理。
【问题2】
鸿蒙的证书导入有什么推荐的方案吗?使用访问 chls.pro/ssl 的方式不会自动下载?下载证书后,使用「华为管家」,但 Mac 好像没有一个比较稳定的版本?
解答
首先,Mac PC 端 Charles 导出证书,点击 Help -> SSL Proxying -> Save Charles Root Certificate
其次,导入系统根证书至手机,有两个方法。
方法一:启动证书安装器进行指定 pem 证书安装。
1.将 Charles 导出的 pem 文件 hdc file send 到手机存储器内。
2.启动动证书安装
$ hdc shell aa start -a MainAbility -b com.ohos.certmanager
3.选择从存储设备安装,选择指定 pem 证书。
方法二:替换 CA 证书,证书路径为沙箱映射路径,系统预设 CA 证书位置:/etc/ssl/certs/cacert.pem,将 Charles 导出的 pem 文件 hdc file send 到此路径下(目前仅支持后缀名为 .pem 的文本格式证书)。
示例命令:
//重新挂载根目录为可写 $ hdc shell mount -o remount,rw /
//导入根证书 $ hdc file send ./cacert.pem /etc/ssl/certs/
再次,安装 Charles 证书到 PC 系统可信目录。
点击 Help -> SSL Proxying -> Install Charles Root Certificate -> 安装证书 -> 选择证书存储路径为:受信任的根证书颁发机构。
最后,设置代理。
点击 Proxy -> SSL Proxy Settings -> 在 Include 添加 *:* 和 *:443
点击 Proxy -> Proxy Settings -> 勾选 Enable transparent HTTP proxying
注意:截止 2024/03/25 ,华为P60 升级到的鸿蒙 HarmonyOS NEXT,按照上述方式配置之后,依旧是无法通过 Charles / Reqable 进行中间人代理的。目前看到系统并没有使用我们刚刚导入的根证书。导致无法完成中间人抓包。
目前可以部分解决的问题方式是自己启动一个 Tomcat 服务器,然后配置客户端通过 HTTP 的方式进行报文的发送,从而可以看到上行报文内容。
【问题3】
鸿蒙的证书信任如何设置?设置中搜索一些配置关键字然后信任,但问题是,我的鸿蒙测试设备的设置中根本没有搜索……
解答
将 Charles 导出的 pem 文件 hdc file send 到手机存储器内。
可以参考如下命令:
$ hdc file send charles.pem(pc上证书路径) /storage/media/100/local/files/Download/(工程机指定路径)
注意:截止 2024/03/25 ,华为P60 升级到的鸿蒙 HarmonyOS NEXT,只能通过 hdc file send 发送到手机的临时目录 temp 路径下,而证书凭证应用并不能找到这个目录,导致依旧无法导入证书。
目前可以解决的问题方式是通过U盘作为中介的方式完成文件的传输。