iphone - 我可以将 NSURLCredentialStorage 与数据保护结合使用吗?

标签 iphone ios security keychain

据我所知,NSURLCredentialStorage 只是钥匙串(keychain)服务的包装器,具有更方便的 API。这就是我想使用它的原因。但我还想利用钥匙串(keychain)提供的数据保护功能 kSecAttrAccessibleWhenUnlockedThisDeviceOnly

使用 NSURLCredentialStorage 存储凭据时是否可以设置此属性?

最佳答案

事实证明答案是肯定的。我查看了 NSURLCredentialStorage 创建的钥匙串(keychain)项。它属于 kSecClassInternetPassword 类,并且访问 key kSecAttrAccessible 设置为“ak”,即 kSecAttrAccessibleWhenUnlocked。因此,当设备锁定时,密码不会被解密。

唯一的缺点是 NSURLCredentialStorage 没有提供将其更改为 kSecAttrAccessibleWhenUnlockedThisDeviceOnly 的方法来为备份数据获得额外的安全级别。您只能使用较低级别的钥匙串(keychain) API(即 SecItemUpdate)在钥匙串(keychain)项上手动更改该属性。

关于iphone - 我可以将 NSURLCredentialStorage 与数据保护结合使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11397399/

相关文章:

ios - 与 iOS 8 相比,iOS 7 使用 3x UITabBar 图标有一些奇怪的结果

objective-c - NSDate 日期方法返回错误结果

iOS - 在 Storyboard中管理代码合并的最佳实践

java - 登录后重定向至特定页面

iphone - UILabel - 在 iPhone 中以编程方式设置字体 - 字体

iphone - 简单的日期格式问题yyyymmdd

iphone - 从另一个函数调用函数时如何返回? iPhone编程

ios - OpenAL 3d 定位和平移中心

java - 保护 Web 服务 : valid SSL key error "ValidatorException: PKIX path building failed"

security - 安全访问 SQL Azure