有一个方便的SecCertificateAddToKeychain()
功能,允许开发人员将“浮动”证书(例如SecCertificateRef
生成的SecCertificateCreateWithData()
个实例)添加到钥匙串。
SecKeyRef
和SecIdentityRef
个实例的等效函数在哪里?有SecKeychainItemImport()
,但它用于导入原始数据。还有SecItemAdd()
,但它仅限于添加密码。
我错过了什么?
答案 0 :(得分:3)
SecItemAdd
能够将证书和密钥添加到钥匙串中;只需将kSecClass
属性设置为项的类(例如kSecClassKey),并在kSecUseItemList
属性中的数组中传递项目引用。
唯一需要注意的是,对SecItemAdd
的单次调用只能添加同一类的项目;如果要添加证书和密钥,则需要在两次调用中进行。
您无需为钥匙串明确创建或添加身份;它们是在证书及其私钥都可用时自动创建的隐式构造。