我想将可能包含敏感数据的对象保存到钥匙串中。为此,我将此对象转换为 NSData 实例。
我有点困惑我需要使用哪些属性。即使kSecClassGenericPassword不是真正的密码,也可以将其用作kSecClass吗?此外,我设置了kSecAttrAccount。我在某处读到我还需要添加kSecAttrService。如果我不这样做会产生什么影响?
我想将可能包含敏感数据的对象保存到钥匙串中。为此,我将此对象转换为 NSData 实例。
我有点困惑我需要使用哪些属性。即使kSecClassGenericPassword不是真正的密码,也可以将其用作kSecClass吗?此外,我设置了kSecAttrAccount。我在某处读到我还需要添加kSecAttrService。如果我不这样做会产生什么影响?
在 GitHub 上查看SSKeychain 。这是一个很好的钥匙串开源包装器,使它超级容易使用。如果您想了解更多有关 iOS/OS X 上的钥匙串和安全性的工作原理并且您已注册 Apple Developer Program,您可以在developer.apple.com上查看一些 WWDC 会议视频。
Strongbox正在使用 NSKeyedUnarchiver 将任何符合 NSCoding 的类型转换为 NSData 对象,然后再保存到钥匙串中。