我可以将NSURLCredentialStorage与数据保护一起使用吗?

时间:2012-07-09 14:43:17

标签: iphone ios security keychain

据我所知,NSURLCredentialStorage只是一个包含更方便API的钥匙串服务的包装器。这就是为什么我想使用它。但我也想利用钥匙串提供的数据保护功能kSecAttrAccessibleWhenUnlockedThisDeviceOnly

使用NSURLCredentialStorage存储凭据时,有没有办法设置此属性?

1 个答案:

答案 0 :(得分:2)

原来答案是肯定的。我查看了NSURLCredentialStorage创建的钥匙串项目。它属于班级kSecClassInternetPassword,并且访问密钥kSecAttrAccessible设置为" ak",即kSecAttrAccessibleWhenUnlocked。因此,在设备锁定时密码不会被解密。

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