使用C / C ++的OS X钥匙串访问

我正在尝试编写一个简单的测试应用程序来访问OS X钥匙串。使用C / C ++添加/更新/删除条目。我只是在测试是否可以在我们拥有的更大的C / C ++代码库中使用它,在这里我们需要安全的秘密存储,因此需要语言。

我查找了Apple拥有的API,但这主要是在Objective-C中。有没有人知道的解决方案?我唯一能找到的是Apple's Security tool,它似乎很旧,并且不确定是否仍支持这些API。

先谢谢了。

sxdtzzf 回答:使用C / C ++的OS X钥匙串访问

一个最小的示例,展示了如何使用C:向钥匙串添加密码:

#include <CoreFoundation/CoreFoundation.h>
#include <Security/Security.h>

int main(int argc,const char* argv[]) {
    CFStringRef keys[3];
    keys[0] = kSecClass;
    keys[1] = kSecAttrAccount;
    keys[2] = kSecValueData;

    CFTypeRef values[3];
    values[0] = kSecClassGenericPassword;
    values[1] = CFSTR("accountname");
    values[2] = CFSTR("password");

    CFDictionaryRef query;
    query = CFDictionaryCreate(kCFAllocatorDefault,(const void**) keys,(const void**) values,3,NULL,NULL);

    OSStatus result = SecItemAdd(query,NULL);

    printf("%d",result);

    return 0;
}
本文链接:https://www.f2er.com/3113679.html

大家都在问