我试图弄清楚在尝试将证书身份添加到 iOS 钥匙串时errSecDuplicateItem
该方法的状态代码到底意味着什么。SecItemAdd
阅读iOS文档,它只说这个状态码意味着该项目在钥匙串中重复,但是确定身份是否重复的标准是什么?发行人名称?截止日期?两个都?
如果您阅读 Mac OSX 文档,类似方法的讨论部分会说明以下内容:
如果证书已添加到指定的钥匙串,则该函数返回 errSecDuplicateItem 并且不会将另一个副本添加到钥匙串。该函数查看证书数据,而不是证书对象,以确定证书是否为副本。如果两个证书具有相同的主键属性,则认为它们是重复的。
我知道有区别,我正在尝试将证书身份保存在钥匙串中,此讨论是针对SecCertificateAddToKeychain
保存证书的方法;但我相信有联系。
是什么意思"primary keys attributes"
?
我尝试两次添加相同的身份,当然我得到了errSecDuplicateItem
,但我担心如果用户想以某种我不考虑的方式更新证书,他们可能会遇到错误。
有什么想法吗?
提前致谢