0

我正在使用 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;
}
4

0 回答 0