Voltar à lista
Linux x86_64Segurança#249

request_key

Busca uma chave por descrição, acionando um upcall para criá-la sob demanda se necessário.

Descrição

Se a chave buscada não existir, o kernel pode invocar um programa em espaço de usuário (via /sbin/request-key) para obtê-la — mecanismo usado, por exemplo, para buscar credenciais Kerberos sob demanda.

Header: keyutils.hman 2Desde o kernel 2.6.10

Assinatura

key_serial_t request_key(
    const char * type,
    const char * description,
    const char * callout_info,
    key_serial_t dest_keyring
);

Parâmetros

ParâmetroTipoDescrição
typeconst char *Tipo da chave desejada.
descriptionconst char *Descrição usada para localizar a chave.
callout_infoconst char *Dado extra passado ao programa de upcall, se a chave precisar ser construída.
dest_keyringkey_serial_tKeyring onde vincular a chave encontrada/criada.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1typeconst char *
rsiargumento 2descriptionconst char *
rdxargumento 3callout_infoconst char *
r10argumento 4dest_keyringkey_serial_t

Valor de retorno

Um número de série de chave em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EINTR(4)
Chamada interrompida por um sinal.
ENOKEY(126)
Chave (keyring) requerida não disponível.
EKEYEXPIRED(127)
Chave expirada.
EKEYREVOKED(128)
Chave revogada.

Relacionadas