以下苹果的文档,我编写了以下代码,将证书添加到macos上的登录密钥链中。
let certUrl = Bundle.main.url(forResource: "cert", withExtension: "cer")!
let certData = try! Data(contentsOf: certUrl)
let cert = SecCertificateCreateWithData(nil, certData as CFData)!
let addQuery: [String: Any] = [
kSecClass as String: kSecClassCertificate,
kSecValueRef as String: cert,
kSecAttrLabel as String: "My Certificate"
]
let status = SecItemAdd(addQuery as CFDictionary, nil)
guard status == errSecSuccess else {
print(status)
return true
}
print("cert added")
return true
它可以工作,但问题是,当我打开密钥链访问应用程序时,我无法在登录密钥链的证书类别中找到添加的证书。
我再次尝试运行代码,但由于重复的证书错误,代码失败了。因此,证书一定是添加的。我想知道如何在密钥链访问中找到它?还是使用SecItemAdd添加的证书总是隐藏在密钥链访问应用程序中?
MacOS版本:10.15.1
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。