在向 iOS 应用程序添加客户端证书时,我遇到了证书的可恢复信任失败。 iOS docs discussion for SecTrustEvaluate特别建议使用 SecTrustGetTrustResult()
获取失败的详细信息,但链接器在引用它时失败。 (它不在任何与 iOS 相关的头文件中,也没有针对该函数的特定 iOS 文档,仅在 SecTrustGetTrustResult
中提到。另一个回复,recent stackoverflow question 说它不可用iOS,但没有任何支持细节。)假设它实际上不可用,那么在我的 iOS 代码中获取有关可恢复故障的具体细节的正确方法是什么?
(该 iOS 手册也出于相同目的提到了 SecTrustGetCssmResult
。我还没有尝试过,但在 iOS 5.1 头文件中也没有以任何方式提及,也没有任何专用于该功能的 iOS 文档条目。此外,包含详细信息的 Mac OS X 文档将其和相关的 SecTrustGetCssmResultCode
标记为已弃用。)
最后说明:由于我们同时运行服务器和客户端,我们使用的是私有(private)制作的证书,我相信我们可以随意重新生成证书。我没有生成我当前使用的那个,所以不确定它的血统。如果相关,我正在尝试使用 Xcode 4.3.3 和 iPhone 5.1 或 iPad 5.1 模拟器目标进行编译。
感谢任何线索!
最佳答案
@constant kSecTrustResultRecoverableTrustFailure 表示信任策略 可以被用户覆盖的失败。这个值可能会被返回 通过 SecTrustEvaluate 函数但不存储为用户的一部分 信任设置。
因此,您似乎可以将其视为 .proceed。
关于ios - 在没有 SecTrustGetTrustResult 的情况下,如何在 iOS 上诊断证书可恢复信任失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12042618/