将SecKdentRef,SecIdentityRefs添加到OS X Keychain

时间:2011-01-19 09:03:46

标签: security macos keychain

有一个方便的SecCertificateAddToKeychain()功能,允许开发人员将“浮动”证书(例如SecCertificateRef生成的SecCertificateCreateWithData()个实例)添加到钥匙串。

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

我错过了什么?

1 个答案:

答案 0 :(得分:3)

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

唯一需要注意的是,对SecItemAdd的单次调用只能添加同一类的项目;如果要添加证书和密钥,则需要在两次调用中进行。

您无需为钥匙串明确创建或添加身份;它们是在证书及其私钥都可用时自动创建的隐式构造。