我有一些代码将数据存储在钥匙串中。代码在单元测试期间正在运行。我存储的值是Data但是,当我指定时
kSecClass : kSecClassGenericPassword, I get OSStatus 0 - success
kSecClass : kSecClassInternetPassword, I get OSStatus -25303
kSecClassGenericPassword和kSecClassInternetPassword之间的存储要求或差异是什么? (相同的代码与kSecClassInternetPassword失败)
更新:可能互联网密码查询缺少必填字段之一,如kSecAttrServer
,而不是kSecAttrService
“Internet密码”是Safari的一些专业记录。它们包括主机和用户数据,使您在为未知的站点列表存储数百条记录时更容易查看。它们几乎绝不是浏览器想要的东西。
几乎在所有情况下,无论你存储什么,应用程序想要存储数据的内容都是“通用密码”,即使它不是密码。 “通用密码”基本上是“加密数据的blob”。 (如果您的应用需要存储公钥/私钥或证书,那么适用的类对此有用,但这比存储“加密数据的blob”更不常见。)