【问题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.启动动证书安装
1 |
$ 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 的文本格式证书)。
示例命令:
1 2 |
//重新挂载根目录为可写 $ hdc shell mount -o remount,rw / |
1 2 |
//导入根证书 $ 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 到手机存储器内。
可以参考如下命令:
1 |
$ hdc file send charles.pem(pc上证书路径) /storage/media/100/local/files/Download/(工程机指定路径) |
注意:截止 2024/03/25 ,华为P60 升级到的鸿蒙 HarmonyOS NEXT,只能通过 hdc file send 发送到手机的临时目录 data/local/tmp/ 路径下,而证书凭证应用并不能找到这个目录,导致依旧无法导入证书。
目前可以解决的问题方式是通过U盘作为中介的方式完成文件的传输。
【鸿蒙正式版本 5.0.0 安装根证书】
1. “设置” 页面选择 “隐私和安全”,如下图:
2. “隐私和安全” 页面滑动到最底部,选择 “高级”,如下图:
3. “高级” 页面,选择 “证书与凭据”,如下图:
4. “证书与凭据” 页面,选择 “从存储设备安装”,如下图:
5. “从存储设备安装” 页面,选择 “CA证书”,并在弹出的根证书安装警告对话框中选择 “继续”,如下图:
6. “从存储设备安装” 打开的文件选择器页面,找到下载的根证书,并选中,如下图:
7. 证书导入结果,如下图:
8. 再次点击 “CA证书”,可以查看已经导入的根证书,如下图: