钥匙串项目的默认 kSecAttrAccessible 值?
Posted
技术标签:
【中文标题】钥匙串项目的默认 kSecAttrAccessible 值?【英文标题】:Default kSecAttrAccessible value for keychain items? 【发布时间】:2011-03-22 14:42:04 【问题描述】:有谁知道 ios 钥匙串项目的kSecAttrAccessible
属性的默认值(请参阅reference)?我刚刚升级一个应用程序以使用更严格的安全性,我很好奇我的旧钥匙串项目(没有指定 kSecAttrAccessible
键值对)的可访问性。
【问题讨论】:
【参考方案1】:我刚刚在 iOS 5.1 和 6.0 上对此进行了测试,现在默认为 kSecAttrAccessibleWhenUnlocked
。
但是,我认为设置明确的kSecAttrAccessible
总是更好,而不是依靠默认值来为您提供足够的安全性。
【讨论】:
【参考方案2】:我已在 IOS 8.1 上对此进行了测试,默认值为 kSecAttrAccessibleWhenUnlocked。
【讨论】:
【参考方案3】:更新:在几年前,现在默认是kSecAttrAccessibleWhenUnlocked
。
根据去年 WWDC 的 Session 209(保护应用程序数据)视频,现有数据默认为 kSecAttrAccessibleAlways
(因此您需要根据需要更新可访问性类)。
【讨论】:
这可能在 iOS6 中有所改变,我必须明确将其设置为kSecAttrAccessibleAlways
才能获得此行为
我同意 Erik 的回答,因为最好明确说明您想要什么。
kSecAttrAccessibleWhenUnlocked
现在是默认设置,而且可能是不久前的设置。
是的,我认为它在几年前发生了变化。不确定具体年份。我会编辑!【参考方案4】:
The documentation for kSecAttrAccessibleWhenUnlocked
说:
这是未明确添加的钥匙串项目的默认值 设置可访问性常量。
【讨论】:
以上是关于钥匙串项目的默认 kSecAttrAccessible 值?的主要内容,如果未能解决你的问题,请参考以下文章
我们可以访问在共享同一应用组的应用启用钥匙串共享之前保存的钥匙串项目吗?
是否可以更新钥匙串项目的 kSecAttrAccessible 值?