NSURLCredentialStorage

NSURLCredentialStorage

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

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

最佳答案

原来答案是肯定的。我调查了NSURLCredentialStorage创建的钥匙串项目。它属于kSecClassInternetPassword类,访问键kSecAttrAccessible设置为“ak”,即kSecAttrAccessibleWhenUnlocked。因此,锁定设备时不会解密密码。

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

07-28 03:15