如何将证书导入 iOS 钥匙串?

How can I import a certificate into the iOS keychain?

我尝试了以下代码,但我一直收到 "The specified attribute does not exist" 错误。 kSecValueRef 已检查并且不是 nil

let attributes: [String: Any] = [kSecClass as String : kSecClassCertificate,
                                 kSecValueRef as String : certificateRef!,
                                 kSecAttrApplicationTag as String : tag]

let osStatus = SecItemAdd(attributes as CFDictionary, nil)

您可以找到描述 kSecClassCertificate 类型 here 可用属性的资源。 您应该将 kSecAttrApplicationTag 更改为 kSecAttrLabel,这应该可以为您解决问题。应用程序标记不是证书的有效参数。

p.s。在 Apple 开发人员文档页面上,每个 class 都有一个描述每个属性的文档,或者您也可以查看 source code.