可以存储在iOS钥匙串中的5 types of keys
每种键类型都支持不同的属性集。目前还不清楚哪些属性是"公共"并且暴露于锁定的钥匙串,而不是。
我是否应该假设锁定的钥匙串可以暴露以下所有内容?
没有我的app-group权利的应用程序可以查看我的钥匙串项目的属性吗?
答案 0 :(得分:1)
所有属性都被视为公开。钥匙串中唯一的秘密是数据(即您使用属性检索的内容)。见Keychain Services Programming Guide: Structure of a Keychain:
注意:与数据不同,项目的属性不被视为机密,因此从不加密。即使钥匙串被锁定,也可以随时阅读它们。
实际上,我相信在iOS(而不是macOS)中有时甚至属性(所有属性)都被加密(例如在第一次解锁之前),但你不应该依赖于此。如果数据是秘密,则它应该是钥匙串数据,而不是属性。但请记住,您无法搜索数据....因为它是加密的....您只能搜索属性。 iOS不会一次解密整个钥匙串。它通常只是解密它需要的部分。有关这方面的所有详细信息,请参阅iOS Security Guide。