gpt4 book ai didi

objective-c - 区分 Mac OS X 钥匙串(keychain)中的 session 和系统项目

转载 作者:行者123 更新时间:2023-12-03 16:22:08 25 4
gpt4 key购买 nike

如何查询 Mac OS X 钥匙串(keychain)以仅检索 session 项目?

当我尝试获取这样的所有项目时:

[SSKeychain accountsForService:nil];

session 项和系统项具有完全相同的键属性:acct、cdat、class、crtr、labl、mdat、svce

如何查询钥匙串(keychain)以仅获取 session 项或区分它们?

感谢您的帮助!

最佳答案

您可以像这样查询 session 密码(如果需要所有密码,请将 kSecMatchLimitOne 替换为 kSecMatchLimitAllattributes 将具有 在本例中为 CFArrayRef 类型):

NSDictionary* passwordQuery = @{
(__bridge id)kSecAttrService : sessionServiceName,
(__bridge id)kSecClass : (__bridge id)kSecClassGenericPassword,
(__bridge id)kSecReturnAttributes: (__bridge id)kCFBooleanTrue,
(__bridge id)kSecReturnData: (__bridge id)kCFBooleanTrue,
(__bridge id)kSecMatchLimit : (__bridge id)kSecMatchLimitOne
};

CFTypeRef attributes = nil;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)passwordQuery, &attributes);
if (status != 0){
return nil;
}

关于objective-c - 区分 Mac OS X 钥匙串(keychain)中的 session 和系统项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18076785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com