yubihsm 0.20.0

Pure Rust client for YubiHSM2 devices with support for HTTP and USB-based access to the device. Supports most HSM functionality including ECDSA, Ed25519, HMAC, and RSA.
Documentation
//! The `YubiHSM2` doesnt' have a unified put object command, however all of the put object
//! commands share a common structure, i.e. `PutObjectParams`

use crate::{Algorithm, Capability, Domain, ObjectId, ObjectLabel};

/// Common parameters to all put object commands
#[derive(Serialize, Deserialize, Debug)]
pub(crate) struct PutObjectParams {
    /// ID of the object
    pub id: ObjectId,

    /// Label for the object (40-bytes)
    pub label: ObjectLabel,

    /// Domains in which the key will be accessible
    pub domains: Domain,

    /// Capabilities of the object
    pub capabilities: Capability,

    /// Object algorithm
    pub algorithm: Algorithm,
}