#keyring #linux #keyutils #keyctl

no-std linux-keyutils

Rust interface to the Linux key-management facility. Provides a safe interface around the raw system calls allowing user-space programs to perform key manipulation.

9 releases

0.2.5 Mar 21, 2026
0.2.4 Jan 15, 2024
0.2.3 Feb 25, 2023
0.2.2 Dec 19, 2022
0.1.2 Sep 26, 2022

#179 in Unix APIs

Download history 90186/week @ 2026-01-15 104010/week @ 2026-01-22 112631/week @ 2026-01-29 146155/week @ 2026-02-05 132711/week @ 2026-02-12 166945/week @ 2026-02-19 165426/week @ 2026-02-26 216294/week @ 2026-03-05 212712/week @ 2026-03-12 215568/week @ 2026-03-19 204152/week @ 2026-03-26 160501/week @ 2026-04-02 189403/week @ 2026-04-09 225290/week @ 2026-04-16 234122/week @ 2026-04-23 215189/week @ 2026-04-30

892,870 downloads per month
Used in 177 crates (5 directly)

Apache-2.0 OR MIT

70KB
1K SLoC

linux-keyutils

cargo-badge-lib docs-badge-lib license-badge rust-version-badge build codecov

Rust interface to the Linux key-management facility. Provides a safe interface around the raw system calls allowing user-space programs to perform key manipulation.

There is a good cloudflare blog discussing why it should be used.

Basic Usage

To use linux-keyutils, first add this to your Cargo.toml:

[dependencies]
linux-keyutils = "0.2"

For more information please view the full documentation. There is also a small example program in the examples directory.

Features

  • #![no_std] by default.
  • For std programs KeyError implements std::error::Error when the std feature of this crate enabled.
  • Small footprint, the library only relies on the libc and bitflags crates.

License

Licensed under either of the following at your discretion:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~125KB