版权所有 © 2014 tutorialspoint
add_key - 将密钥添加到内核的密钥管理功能
#include <keyutils.h> key_serial_t add_key(const char *type, const char *description, const void *payload, size_t plen, key_serial_t keyring);
add_key() 请求内核创建或更新给定类型和描述的密钥,使用长度为plen的有效负载对其进行实例化,并将其附加到指定的密钥环并返回其序列号。
如果密钥格式错误或以其他方式无效,则密钥类型可能会拒绝数据。
如果目标密钥环已包含与指定的类型和描述匹配的密钥,则如果密钥类型支持,则将更新该密钥,而不是创建新密钥;否则,将创建一个新密钥,并且它将取代密钥环中对现有密钥的链接。
目标密钥环序列号可以是调用者具有写入权限的有效密钥环的序列号,也可以是特殊的密钥环 ID。
核心密钥管理代码中提供了许多密钥类型,这些类型可以指定给此函数。
成功时,add_key() 返回其创建或更新的密钥的序列号。发生错误时,将返回值-1,并且 errno 将设置为相应的错误。
虽然这是一个 Linux 系统调用,但它不存在于libc中,而是在libkeyutils中找到。链接时,应向链接器指定-lkeyutils。
keyctl (1)
keyctl (2)
request_key (2)
广告