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

Posted

技术标签:

【中文标题】如何将证书导入 iOS 钥匙串?【英文标题】:How can I import a certificate into the iOS keychain? 【发布时间】:2020-06-19 08:21:30 【问题描述】:

我尝试了以下代码,但我不断收到“指定的属性不存在”错误。 kSecValueRef 被检查并且不为零

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

let osStatus = SecItemAdd(attributes as CFDictionary, nil)

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何将证书导入 iOS 钥匙串?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.iOS VSTS 无法将临时钥匙串添加到钥匙串搜索路径

ios证书--不用Mac钥匙串创建iOS证书

iOS-钥匙串中证书全部失效(证书的签发者无效)的解决办法

iOS 钥匙串安全性

如何将已添加的 SecIdentityRef 更新到 iOS 应用的钥匙串?

即使在钥匙串中也找不到 iOS 应用商店分发证书