【问题标题】:how to obtain SecIdentityRef from SecCertificateRef and PrivateKey?如何从 SecCertificateRef 和 PrivateKey 中获取 SecIdentityRef?
【发布时间】:2014-12-15 00:22:42
【问题描述】:

如果您在 iOS 中有 SecCertificateRef 和私钥,如何创建 SecIdentityRef? 我有一个从服务器传递的 X509 证书和一个关联的私钥,但现在我正在努力建立对 NSURLCredentials 的信任。

这里问了一个类似的问题 How to establish a SecIdentityRef in an iPhone keychain ? (Without a .p12)

正如上面帖子中提到的重要信息,我确实首先使用 SecCertificateCreateWithData 创建了 SecCertificateRef,然后使用 SecItemAdd 添加到钥匙串中,但现在不知道如何生成 SecIdentityRef。

非常感谢,
马尼什
附言- 我没有足够的参考点来评论帖子,所以提出一个新问题。

【问题讨论】:

  • 嗨,你成功了吗?我也在做同样的事情,但我无法让它工作,我正在向服务器发送 CSR,服务器返回客户端证书,我将它保存在钥匙串中,然后我想执行请求所以我覆盖了 credentialWithIdentity:certificates:persistence 但我仍然得到SSL 错误

标签: ios iphone keychain


【解决方案1】:

据我了解,SecIdentityRefs 不作为单独的钥匙串条目存在。当您使用SecItemCopyMatching() 获取身份时,它会找到证书和相应的私钥并返回一个身份,该身份只是对该 (cert, key) 对的引用。据我所知,创建SecIdentityRef 的唯一方法是将私钥和该密钥的证书插入到您的钥匙串中,然后执行身份搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多