使用 aSFCertificateTrustPanel
显示SecTrustRef
对象的结果时,默认为消息:
证书信任验证期间发生故障。请为需要更新的证书指定信任设置。
与 Safari 的实现相比,这似乎相当模糊和缺乏:
Safari 无法验证网站“example.com”的身份
本网站的证书无效。您可能正在连接到一个伪装成“example.com”的网站,这可能会使您的机密信息面临风险。是否仍要连接到该网站?
如果您让 aNSURLConnection
或类似失败,则NSError
包含以下内容:
NSLocalizedDescription = "The certificate for this server is invalid. You might be connecting to a server that is pretending to be "example.com" which could put your confidential information at risk.";
NSLocalizedRecoverySuggestion = "Would you like to connect to the server anyway?";
所以我似乎有几个选择:
- 保留默认消息
- 生成我自己的消息文本
- 等待连接失败,然后根据产生的错误构建面板,并在用户选择时重试连接
- 还有什么?
有没有我错过的选项 4?如果不是,那么 2. 和 3. 中的哪一个更可取?我担心 2. 如果没有考虑到特定的边缘情况,很容易产生错误的消息。