我正在使用 libkeyring 来存储密钥,我相信这是用户的持久密钥环。但是,当我重新启动时,它们会被删除。我的代码在下面,我正在使用cat /proc/keys
. 我检查了手册页。尽管“用户”不是持久的,但我相信它keyctl_get_persistent
会创建一个持久存储。我也尝试使用“keyring”密钥类型,但失败了。我还应该做什么?
int add()
{
key_serial_t kt;
kt = keyctl_get_persistent(-1, KEY_SPEC_USER_KEYRING);
printf("ret kt %d\n", kt);
if (kt == -1)
{
printf("persistent failed\n");
return -1;
}
kt = add_key("user", "my-creds", "password", 8, kt);
printf("ret kt %d\n", kt);
if (kt == -1)
{
printf("add failed\n");
return -1;
}
return 0;
}