在iOS上使用Apples kSecAttrIsPermanent
时,libcommonCrypto.dylib
属性的用法是什么?
对应的值是CFBooleanRef类型并指示是否 此加密密钥将永久存储。
不将永久存储在钥匙串中的内容以及存储时间长短的原因是什么? (直到重启?直到应用关闭?直到应用程序被卸载?)
答案 0 :(得分:8)
这是生成密钥时SecKeyGeneratePair
内使用的参数。
来自Certificate, Key, and Trust Services Reference
kSecAttrIsPermanent
- 如果此密钥存在且布尔值为true,则密钥或密钥对将添加到默认密钥链中。
在此上下文中,如果您提供此参数并且它为false,那么您将在内存中接收密钥,但它不会持久保存到密钥链(磁盘上)。在应用程序仍在运行时,它会持续很长时间,除非你自己坚持使用它。