ios - 在没有 SecTrustGetTrustResult 的情况下,如何在 iOS 上诊断证书可恢复信任失​​败?

标签 ios client certificate x509 trust

在向 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/

相关文章:

ios - idleTimer 时间到期后应用程序未休眠

ios - 我如何解决 hidesBottomBarWhenPushed 在 iOS 6 SDK 中的表现异常?

Java套接字: My server class constantly takes in input but my client doesn't?

certificate - Hyperledger Fabric - CA 的工作原理

.net - FtpWeb 请求 "The remote certificate is invalid according to the validation procedure"

ios - Xcode 8 APS Environment Entitlement 不会设置为生产环境

表格单元格内的 iOS 选择器

java - 德州扑克中的客户端/服务器通信

python - 解析多部分/表单数据,从请求后接收

c - SSL_get_peer_certificate(ssl) 返回 NULL?