ProxyPin iOS 证书 SSL 错误 完整排查
iOS 证书安装流程回顾
iOS 抓 HTTPS 必须两步(缺一不可):
第一步:安装配置描述文件
- 打开 ProxyPin → 按提示安装 VPN 配置描述文件
- 系统设置中能看到 ProxyPin VPN 配置
第二步:手动信任根证书(经常被漏!)
- 设置 → 通用 → 关于本机 → 拉到底部 → 证书信任设置
- 找到 ProxyPin CA → 打开开关
- 系统弹出安全警告 → 确认
症状与排查
症状一:Safari 打开 HTTPS 页面报"不安全"
检查项:
- 配置描述文件有没有安装?
- 证书信任开关有没有打开?
修复:
- 设置 → 通用 → 关于本机 → 证书信任设置
- 找到 ProxyPin CA(如果列表为空 → 证书没安装好,回第一步)
- 打开信任开关
- 关闭再打开 ProxyPin VPN
症状二:Safari 正常但 App HTTPS 还是抓不到
可能原因:
- App 有证书固定(Certificate Pinning)
- App 不信任手动安装的根证书
排查:App 自身有 SSL Pinning 的话,ProxyPin 抓不到明文。检查 App 是否:
- 自己做了证书固定(Flutter 用 PiniaInterceptor、原生用 TrustKit 等)
- 只信任系统预安装的 CA
ProxyPin 对 Flutter App:有原生绕过能力,直接扫码连接即可,不需要额外操作(但证书信任还是要做)。
症状三:VPN 连接但没有流量
检查项:
- ProxyPin VPN 有没有真的连接?(设置 → VPN → ProxyPin 状态显示"已连接")
- 手机是否在同一局域网(扫码连接桌面端的情况)?
- ProxyPin 桌面端是否在运行且代理开启?
- 域名过滤有没有把所有域名都挡了?
症状四:iOS 14+ 本地网络权限
iOS 14 引入本地网络权限:
- 设置 → ProxyPin → 本地网络 → 必须开启
- 否则 ProxyPin 发现不了局域网设备
重置证书重来
如果尝试多次都不行,彻底重来:
- 设置 → VPN 与设备管理 → 删除 ProxyPin 配置文件
- 重启 iOS
- 重新打开 ProxyPin
- 重新安装配置描述文件
- 重新信任根证书
- 重新连接 VPN
iOS vs Android 证书对比
| 维度 | iOS | Android |
|---|---|---|
| Root 要求 | 不需要 | 7.0+ 系统证书需要 root |
| 证书安装 | 配置描述文件 | .crt 文件 |
| 信任方式 | 系统设置手动开关 | 系统目录自动信任 |
| 用户证书信任 | ✅ 信任 | ❌ 7.0+ 不信任 |
| 证书固定绕过 | 需要 Hook | Flutter 原生绕过 |