2011-01-19 92 views
0

存在方便的SecCertificateAddToKeychain()函数,该函数允许开发人员将“浮动”证书(例如,由SecCertificateCreateWithData()生成的SecCertificateRef实例)添加到钥匙串。将SecKeyRef,SecIdentityRefs添加到OS X钥匙串

SecKeyRefSecIdentityRef实例的等效函数在哪里?有SecKeychainItemImport(),但它用于导入原始数据。还有SecItemAdd(),但仅限于添加密码。

我错过了什么?

回答

3

SecItemAdd能够将证书和密钥添加到钥匙串;只需将kSecClass属性设置为该项目的类(例如kSecClassKey)并在kSecUseItemList属性中传递数组中的项引用即可。

唯一需要注意的是,对SecItemAdd的单个调用只能添加同一类的项目;如果你想添加一个证书和一个密钥,你需要在两个电话中完成。

您不需要明确地创建或添加标识到钥匙串;它们是在证书和私钥都可用时自动创建的隐式结构。