如何从SecCertificateRef和PrivateKey获取SecIdentityRef?

时间:2014-10-20 04:22:52

标签: ios iphone keychain

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

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

如上所述重要提示,我首先使用SecCertificateCreateWithData创建了SecCertificateRef,然后使用SecItemAdd添加到钥匙串中,但现在不知道该怎么做才能生成SecIdentityRef。

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

1 个答案:

答案 0 :(得分:5)

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