Crate yubihsm [] [src]

yubihsm.rs: client for YubiHSM2 hardware security modules

Build Notes

This crate depends on the aesni crate, which uses the "stdsimd" API to invoke hardware AES instructions via core::arch.

To access these features, you will need both a relatively recent Rust nightly and to pass the following as RUSTFLAGS:

RUSTFLAGS=-C target-feature=+aes

You can configure your ~/.cargo/config to always pass these flags:

[build]
rustflags = ["-C", "target-feature=+aes"]

Re-exports

pub use algorithm::Algorithm;
pub use capabilities::Capabilities;
pub use connector::Connector;
pub use domains::Domains;
pub use object::Id as ObjectId;
pub use object::Label as ObjectLabel;
pub use object::Origin as ObjectOrigin;
pub use object::Type as ObjectType;
pub use object::SequenceId;
pub use session::Session;
pub use session::SessionError;

Modules

algorithm

Cryptographic algorithms supported by the YubiHSM2

capabilities

Object attributes specifying which operations are allowed to be performed

connector

Client for yubihsm-connector and main library entry point

domains

Logical partitions within the YubiHSM2, allowing several applications to share the device concurrently

object

Objects stored in the YubiHSM2

responses

Responses to commands sent from the HSM, intended as part of the public API of this crate.

session

YubiHSM2 sessions: primary API for performing HSM operations

Structs

SessionId

Session/Channel IDs