VPN 配置文件会在你的设备上安装证书吗?
某一个 VPN 客户端使用的内置 CA,并不是整台设备都信任的根证书。批准提示之前,先比较客户端范围与平台信任。
VPN 配置文件可以携带证书,而大部分困惑正是从这句话开始的。它携带什么、它信任什么,是两个不同的问题,由两套不同的机制回答。一个客户端用来验证服务器的内置 CA,与整个操作系统所信任的根证书并不是同一个对象。在把这种安装包当作常规操作之前,先把这两者比较一下。
对标题问题的回答是肯定的,但有一个范围需要你核实。
VPN 配置文件能携带什么
OpenVPN 配置文件可以把 CA 证书、客户端证书和客户端私钥直接内联在各自的标签之间,客户端因此直接从配置文件里读取它们。这些材料只在那一个客户端内部用于校验和身份认证。它并不会仅仅因为存在于文件里就进入系统信任库。
平台配置描述文件是另一种容器。它可以在受管设置旁边携带证书负载:Wi-Fi、VPN、限制项,在受管部署中还有更多。安装它等于把这些设置交给操作系统,而不是交给某一个应用。这正是该格式的意义所在,也是范围重要的原因。
客户端范围内的信任与平台信任
客户端范围内的信任以客户端为边界。如果配置文件里的 CA 是错的,那条隧道就会失败,其他应用不受影响。平台信任没有特定的边界,因为每个使用系统信任库的应用都会继承这个决定。
在 Apple 平台上,这两者是明显分离的步骤。
安装下载来的描述文件,与为某张证书启用信任,是两个不同的动作,后者在证书信任设置里有独立的开关。受管部署可能与手动安装不同,包括配置文件究竟能否被移除。请按你所使用版本的最新平台文档操作。一个看起来像 VPN 设置一部分的提示,可能正是那次信任决定本身。
为什么这个差别会改变你的回答
如果有人问这个配置文件是否安装了证书,有用的回答是点明范围。自带 CA 的 VPN 配置文件改变的是该客户端接受什么。安装了证书负载并启用信任的配置文件改变的是设备接受什么。只有后者才会影响到一个从不经过隧道的浏览器里的银行网站。
整段比较就是这些,在任何批准之前都值得把它说清楚。
批准之前该问什么
问清哪个功能需要这张证书,没有它什么会坏。问清是谁签发的,它用来认证什么。问清它如何被移除,以及在使用中的部署方式下你是否真的能移除它。要通过真实的运营方渠道去问,而不是通过提供下载的那个页面。
一个把安装包称作 VPN 修复的下载页面,并没有告诉你任何关于范围的信息。
拒绝一个意料之外的根证书不是偏执;那与浏览器显示证书警告时做出的是同一个决定。区别在于这一次会持续存在,而且可能不会再问你第二次。
移除实际上是什么样子
删除下载来的文件 并不会移除已安装的配置文件或其证书。配置文件会留在设备的管理设置里,直到在那里被移除;受监督或受管的设备还可能拒绝移除。在任何获批的更改之后都检查安装状态,确认证书确实已消失,而不是假定文件就是全部。然后重新连接,看看隧道是否仍然工作,因为保留配置文件却移除 CA 本身也是一种故障模式。
把签发者、用途、范围和移除路径记录下来。
这份记录比一个能用的 VPN 图标更有用,因为它会一直留到下一个需要在另一台设备上决定是否批准同样提示的人那里。