KEYCTL(3) Linux Key Management Calls KEYCTL(3)

# [NAME](#NAME)

keyctl\_\*() - key management function wrappers

# [DESCRIPTION](#DESCRIPTION)

The **keyctl**() system call is a multiplexor for a number of key management functions. These should be called via the wrappers in the libkeyutils library.

The functions can be compiled in by including the **keyutils** header file:

```
#include <keyutils.h>
```

```
and then telling the linker it should link in the library:

```

```


-lkeyutils
```

# [KEYCTL FUNCTIONS](#KEYCTL_FUNCTIONS)

[**keyctl\_assume\_authority**(3)](/man/os/keyutils/keyctl_assume_authority.3)  
[**keyctl\_chown**(3)](/man/os/keyutils/keyctl_chown.3)  
[**keyctl\_capabilities**(3)](/man/os/keyutils/keyctl_capabilities.3)  
[**keyctl\_clear**(3)](/man/os/keyutils/keyctl_clear.3)  
[**keyctl\_describe**(3)](/man/os/keyutils/keyctl_describe.3)  
[**keyctl\_describe\_alloc**(3)](/man/os/keyutils/keyctl_describe_alloc.3)  
[**keyctl\_dh\_compute**(3)](/man/os/keyutils/keyctl_dh_compute.3)  
[**keyctl\_dh\_compute\_alloc**(3)](/man/os/keyutils/keyctl_dh_compute_alloc.3)  
[**keyctl\_get\_keyring\_ID**(3)](/man/os/keyutils/keyctl_get_keyring_ID.3)  
[**keyctl\_get\_persistent**(3)](/man/os/keyutils/keyctl_get_persistent.3)  
[**keyctl\_get\_security**(3)](/man/os/keyutils/keyctl_get_security.3)  
[**keyctl\_get\_security\_alloc**(3)](/man/os/keyutils/keyctl_get_security_alloc.3)  
[**keyctl\_instantiate**(3)](/man/os/keyutils/keyctl_instantiate.3)  
[**keyctl\_instantiate\_iov**(3)](/man/os/keyutils/keyctl_instantiate_iov.3)  
[**keyctl\_invalidate**(3)](/man/os/keyutils/keyctl_invalidate.3)  
[**keyctl\_join\_session\_keyring**(3)](/man/os/keyutils/keyctl_join_session_keyring.3)  
[**keyctl\_link**(3)](/man/os/keyutils/keyctl_link.3)  
[**keyctl\_move**(3)](/man/os/keyutils/keyctl_move.3)  
[**keyctl\_negate**(3)](/man/os/keyutils/keyctl_negate.3)  
[**keyctl\_pkey\_decrypt**(3)](/man/os/keyutils/keyctl_pkey_decrypt.3)  
[**keyctl\_pkey\_encrypt**(3)](/man/os/keyutils/keyctl_pkey_encrypt.3)  
[**keyctl\_pkey\_query**(3)](/man/os/keyutils/keyctl_pkey_query.3)  
[**keyctl\_pkey\_sign**(3)](/man/os/keyutils/keyctl_pkey_sign.3)  
[**keyctl\_pkey\_verify**(3)](/man/os/keyutils/keyctl_pkey_verify.3)  
[**keyctl\_read**(3)](/man/os/keyutils/keyctl_read.3)  
[**keyctl\_read\_alloc**(3)](/man/os/keyutils/keyctl_read_alloc.3)  
[**keyctl\_reject**(3)](/man/os/keyutils/keyctl_reject.3)  
[**keyctl\_restrict\_keyring**(3)](/man/os/keyutils/keyctl_restrict_keyring.3)  
[**keyctl\_revoke**(3)](/man/os/keyutils/keyctl_revoke.3)  
[**keyctl\_search**(3)](/man/os/keyutils/keyctl_search.3)  
[**keyctl\_session\_to\_parent**(3)](/man/os/keyutils/keyctl_session_to_parent.3)  
[**keyctl\_set\_reqkey\_keyring**(3)](/man/os/keyutils/keyctl_set_reqkey_keyring.3)  
[**keyctl\_set\_timeout**(3)](/man/os/keyutils/keyctl_set_timeout.3)  
[**keyctl\_setperm**(3)](/man/os/keyutils/keyctl_setperm.3)  
[**keyctl\_unlink**(3)](/man/os/keyutils/keyctl_unlink.3)  
[**keyctl\_update**(3)](/man/os/keyutils/keyctl_update.3)  
[**keyctl\_watch\_key**(3)](/man/os/keyutils/keyctl_watch_key.3)

# [UTILITY FUNCTIONS](#UTILITY_FUNCTIONS)

[**find\_key\_by\_type\_and\_name**(3)](/man/os/keyutils/find_key_by_type_and_name.3)  
[**recursive\_key\_scan**(3)](/man/os/keyutils/recursive_key_scan.3)  
[**recursive\_session\_key\_scan**(3)](/man/os/keyutils/recursive_session_key_scan.3)

# [SEE ALSO](#SEE_ALSO)

[**keyctl**(1)](/man/os/keyutils/keyctl.1), [**add\_key**(2)](/man/os/keyutils/add_key.2), [**keyctl**(2)](/man/os/keyutils/keyctl.2), [**request\_key**(2)](/man/os/keyutils/request_key.2), [**keyrings**(7)](/man/os/keyutils/keyrings.7), [**keyutils**(7)](/man/os/keyutils/keyutils.7)

21 Feb 2014 Linux

---

Document: keyctl(3) from keyutils 1.6.3-r41 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils.git
