出现这个表示『用户取消了验证过程』,之所以会有这个错误。是知乎 App 使用的第三方库 AFNetworking 在 1.3.3 版本增加了 SSL Pinning 特性,实现中当开发者没有开启 SSL Pinning 同时服务端证书校验又失败时会直接调用:cancelAuthenticationChallenge: 方法,导致 HTTPClient 给出 -1012 错误。知乎 App 在代码中并没有处理这种情况,所以将错误直接弹了出来。
为什么会出现证书校验失败呢?有两种情况:
1. 当时知乎的服务端的 SSL 证书信任链的配置存在问题,会导致一些客户端中校验失败(问题已修正)。但我们找了多个系统版本不同型号的 iOS 设备做了测试,一直没能重现截图中现象;
2. 另一种情况是存在中间人攻击,用户收到了不是知乎颁发的证书。