Ios 锁定钥匙链时,哪些钥匙链属性不可访问?

Ios 锁定钥匙链时,哪些钥匙链属性不可访问?,ios,security,cocoa-touch,keychain,Ios,Security,Cocoa Touch,Keychain,可以存储在iOS钥匙链中的有 kSecClassGenericPassword kSecClassInternetPassword kSecClassCertificate 密钥 kSecClassIdentity 每种键类型都支持不同的属性集。目前尚不清楚哪些属性是“公开的”,哪些属性暴露于锁定的钥匙链,哪些属性不是 我是否应该假设一个锁定的钥匙链可以公开以下所有内容 没有我的应用程序组权限的应用程序能否查看我的钥匙链项目的属性 所有属性都被视为公共属性。钥匙链中唯一的秘密是数据(即使用属

可以存储在iOS钥匙链中的有

  • kSecClassGenericPassword
  • kSecClassInternetPassword
  • kSecClassCertificate
  • 密钥
  • kSecClassIdentity
每种键类型都支持不同的属性集。目前尚不清楚哪些属性是“公开的”,哪些属性暴露于锁定的钥匙链,哪些属性不是

我是否应该假设一个锁定的钥匙链可以公开以下所有内容

没有我的应用程序组权限的应用程序能否查看我的钥匙链项目的属性


所有属性都被视为公共属性。钥匙链中唯一的秘密是数据(即使用属性检索的内容)。见:

注意:与数据不同,项的属性不被视为机密,因此从不加密。它们可以在任何时候读取,即使钥匙链已锁定

实际上,我相信在iOS(与macOS相反)中,有时甚至属性(所有属性)都会被加密(比如在首次解锁之前),但您不应该依赖于此。如果数据是机密的,那么它应该是密钥链数据,而不是属性。但请记住,您无法搜索数据。。。。因为它是加密的。。。。只能搜索属性。iOS不会一次解密整个密钥链。它通常只解密所需的部分。有关这方面的所有血淋淋的细节,请参阅