WLOC

HTTPS 证书 · 跨客户端教程

WLOC 配置中最容易被漏掉的一步:信任证书

模块导入了。VPN 图标亮了。但 WLOC 诊断显示 'HTTPS not found'。是不是很熟悉?你漏掉了证书信任这一步——不是你的问题,是 iOS 把它藏得太深了。这篇教程用大白话讲清楚:CA 证书是什么、为什么 WLOC 需要它、以及每个客户端对应的操作路径。四步。五分钟。不拽术语。

大白话解释

CA 证书是什么?为什么 WLOC 需要它?

Apple 的位置服务器用的是 HTTPS——就是你在浏览器里看到的那个小锁标志,和银行用的同一种加密。要查看和修改加密数据里面的位置信息,你的 VPN 客户端需要短暂解密、改掉位置数据、再重新加密。CA 证书就是让这个操作能进行的数字钥匙。打个比方:你的 VPN 客户端像一个收发室,它打开一个密封信封,换掉其中一页,再重新封好。CA 证书就是官方印章,说明「这个收发室有权限这么做——但是只能拆这两种信封」。两种信封就是 Apple 的 WPS 服务器。其他信封一律不拆。范围限制是保证安全的关键。

这两个主机是 WLOC 唯一需要解密的目标——只填这两个,不要多填:

gs-loc.apple.com
gs-loc-cn.apple.com

各客户端「生成 CA」的位置

客户端操作路径
Shadowrocket设置 → HTTPS 解密 → 打开 → 点生成 CA
Surge 5设置 → MitM → 打开 → 点生成 CA
Quantumult X设置 → MitM → 生成 CA
Loon设置 → MitM → 生成 CA。然后:插件标签 → WLOC 插件详情 → 证书路径 → 选择 Loon CA
Stash设置 → MitM → 生成 CA
Egern设置 → MitM → 生成 CA。注意:不要复用其他客户端的 CA

第1步:第一步:在客户端里生成 CA 证书

每个兼容客户端都有一个「生成 CA」的按钮,在设置里。找到它。点一下。这会在你的设备上创建一个证书颁发机构——就是一个数字钥匙。它只存在于这部手机上,不会分享给任何人。每个客户端的 CA 是独立的,所以如果你从 Surge 换到 Shadowrocket,需要重新生成。

  • Shadowrocket:设置 → HTTPS 解密 → 生成 CA
  • Surge:设置 → MitM → 生成 CA
  • Quantumult X:设置 → MitM → 生成 CA
  • Loon:设置 → MitM → 生成 CA(还要在插件里设证书路径)
  • Stash:设置 → MitM → 生成 CA
  • Egern:设置 → MitM → 生成 CA(不要复用 Surge 的)

第2步:第二步:在 iOS 设置里安装描述文件

生成 CA 后,iOS 可能会弹出一个「已下载描述文件」的通知。也有可能什么都不弹——那也没关系。进入设置 → 通用 → VPN 与设备管理。你应该能看到一个新的描述文件,名字里包含你客户端的名称。点进去。点右上角「安装」。需要的话输入设备密码。这一步把证书注册到 iOS 系统里。但还没完——下一步才是最多人漏掉的。

  • 路径:设置 → 通用 → VPN 与设备管理 → 点描述文件 → 安装 → 输入密码
  • 如果看不到描述文件,回到客户端里重新点一次「生成 CA」
  • 描述文件名会包含客户端名称(如「Shadowrocket CA」「Surge CA」)

第3步:第三步:信任证书——最多人漏掉的一步

安装描述文件只完成了一半。iOS 还不信任这个证书来做 HTTPS 解密。你必须手动开启信任。进入设置 → 通用 → 关于本机 → 证书信任设置。在「针对根证书启用完全信任」下面找到你客户端的 CA。打开开关。iOS 会弹出一个警告——这是正常的,点「继续」。这一步做完,WLOC 诊断里那个 'HTTPS not found' 就消失了。如果你只记住这篇教程里的一句话:证书信任设置。关于本机下面。打开开关。

  • 路径:设置 → 通用 → 关于本机 → 证书信任设置 → 打开你客户端 CA 的开关
  • 这个设置藏在「关于本机」下面——不是「VPN 与设备管理」下面
  • iOS 会弹警告。这是正常的。点继续。
  • 跳过这一步,诊断一定会报 'HTTPS not found'——每次都这样

第4步:第四步:验证能用,用完知道怎么删

打开 WLOC,保存一个测试目标,运行诊断。如果证书信任成功了,你应该看到 patch 计数大于零——这就是证据。测试结束后:回到证书信任设置,关掉 CA 的开关(或者直接从 VPN 与设备管理里移除描述文件)。然后在客户端里关掉 HTTPS 解密 / MitM。把受信任的 CA 留在设备上是安全隐患——如果以后卖掉或转交手机,记得清理。

  • WLOC 诊断中 patch 计数 > 0 = 证书正常工作
  • 移除:设置 → 通用 → VPN 与设备管理 → 点描述文件 → 移除
  • 同时在证书信任设置里关掉开关
  • 不用的时候在客户端里关掉 HTTPS 解密 / MitM

FAQ

为什么证书信任设置藏在「关于本机」下面?

好问题。这个位置确实很奇怪,而且 Apple 在不同 iOS 版本之间改过。iOS 18 及以上版本在设置 → 通用 → 关于本机 → 证书信任设置。老版本在设置 → 通用 → 关于本机。这大概就是最多人漏掉这一步的原因——它不在任何人会去找的位置。

每个客户端都要做一遍吗?

是的。每个客户端生成的是自己独立的 CA 证书。如果你从 Surge 换到 Shadowrocket,必须重新生成 CA、重新安装描述文件、重新信任证书。旧的不会自动迁移。

信任 CA 证书安全吗?

范围限定好了就安全。WLOC 模块把 HTTPS 解密范围限制在恰好两个主机:gs-loc.apple.com 和 gs-loc-cn.apple.com。这是 Apple 的 Wi-Fi 定位服务器。其他流量一律不解密。如果你自己把主机列表扩大了,或者开了全局解密,那就是隐私风险。保持范围紧凑,测完就删。

看到「已下载描述文件」但设置里找不到?

试试关掉设置 App 重新打开。有些 iOS 版本需要重启设置才能显示新描述文件。如果还是没有,可能是 CA 没生成成功——回到客户端重新点「生成 CA」。

WLOC

五分钟。四步。不再有「HTTPS not found」。

证书信任这一步几乎每个人都踩过坑。现在你知道了它藏在哪。生成 → 安装 → 信任 → 验证。别跳过第三步。