我只想允许特定进程从钥匙串中读取敏感项目(基于使用方法
SecItemCopyMatching
的进程签名),并使任何其他读取尝试失败。
是否可能,如果不可能,我可以为钥匙串访问定义哪些访问控制规则?
我现在正在使用默认的用户钥匙串,也许我应该创建一个具有重要访问控制的不同钥匙串,这样并不是所有以用户上下文甚至以根权限运行的进程都能够获取数据。
谢谢
这是我阅读的例子:
func read(service: String, account: String) -> Data? {
let query = [
kSecAttrService: service,
kSecAttrAccount: account,
kSecClass: kSecClassGenericPassword,
kSecReturnData: true
] as CFDictionary
var result: AnyObject?
SecItemCopyMatching(query, &result)
return (result as? Data)
}