2

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

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

4

1 回答 1

2

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

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

于 2012-07-10T10:41:41.107 回答