[][src]Struct yubihsm::capability::Capability

pub struct Capability { /* fields omitted */ }

Object attributes specifying which operations are allowed to be performed

https://developers.yubico.com/YubiHSM2/Concepts/Capability.html

Implementations

impl Capability[src]

pub const DERIVE_ECDH: Capability[src]

derive-ecdh: perform ECDH operation

pub const DECRYPT_OAEP: Capability[src]

decrypt-oaep: perform RSA-OAEP decryption

pub const DECRYPT_PKCS: Capability[src]

decrypt-pkcs: perform RSA-PKCS1v1.5 decryption

pub const GENERATE_ASYMMETRIC_KEY: Capability[src]

generate-asymmetric-key: generate asymmetric objects

pub const SIGN_ECDSA: Capability[src]

sign-ecdsa: compute ECDSA digital signature

pub const SIGN_EDDSA: Capability[src]

sign-eddsa: compute EdDSA (i.e. Ed25519) digital signature

pub const SIGN_PKCS: Capability[src]

sign-pkcs: compute RSA-PKCS1v1.5 digital signature

pub const SIGN_PSS: Capability[src]

sign-pss: compute RSA-PSS digital signature

pub const SIGN_ATTESTATION_CERTIFICATE: Capability[src]

sign-attestation-certificate: create attestation (i.e. X.509 certificate) about an asymmetric object

pub const GET_LOG_ENTRIES: Capability[src]

get-log-entries: read the log store

pub const DELETE_ASYMMETRIC_KEY: Capability[src]

delete-asymmetric-key: delete asymmetric key objects

pub const DELETE_AUTHENTICATION_KEY: Capability[src]

delete-authentication-key: delete authentication::Key objects

pub const DELETE_HMAC_KEY: Capability[src]

delete-hmac-key: delete HMACKey objects

pub const DELETE_OPAQUE: Capability[src]

delete-opaque: delete opaque objects

pub const DELETE_OTP_AEAD_KEY: Capability[src]

delete-otp-aead-key: delete Yubic OTP AEAD key objects

pub const DELETE_TEMPLATE: Capability[src]

delete-template: delete template objects

pub const DELETE_WRAP_KEY: Capability[src]

delete-wrap-key: delete WrapKey objects

pub const EXPORTABLE_UNDER_WRAP: Capability[src]

exportable-under-wrap: mark an object as exportable under keywrap

pub const EXPORT_WRAPPED: Capability[src]

export-wrapped: export objects under keywrap

pub const GENERATE_OTP_AEAD_KEY: Capability[src]

generate-otp-aead-key: generate Yubico OTP AEAD objects

pub const GENERATE_WRAP_KEY: Capability[src]

generate-wrap-key: generate wrapkey objects

pub const GET_OPAQUE: Capability[src]

get-opaque: read opaque objects

pub const GET_OPTION: Capability[src]

get-option: read device-global options

pub const GET_PSEUDO_RANDOM: Capability[src]

get-pseudo-random: extract random bytes

pub const GET_TEMPLATE: Capability[src]

get-template: read SSH template objects

pub const GENERATE_HMAC_KEY: Capability[src]

generate-hmac-key: generate HMAC key objects

pub const SIGN_HMAC: Capability[src]

sign-hmac: compute HMAC for data

pub const VERIFY_HMAC: Capability[src]

verify-hmac: verify HMAC for data

pub const IMPORT_WRAPPED: Capability[src]

import-wrapped: import keywrapped objects

pub const CREATE_OTP_AEAD: Capability[src]

create-otp-aead: create an OTP AEAD

pub const RANDOMIZE_OTP_AEAD: Capability[src]

randomize-otp-aead: create an OTP AEAD from random data

pub const REWRAP_FROM_OTP_AEAD_KEY: Capability[src]

rewrap-from-otp-aead-key: rewrap AEADs from an OTP AEAD key object to another

pub const REWRAP_TO_OTP_AEAD_KEY: Capability[src]

rewrap-to-otp-aead-key: rewrap AEADs to an OTP AEAD key object from another

pub const DECRYPT_OTP: Capability[src]

decrypt-otp: decrypt OTP

pub const PUT_ASYMMETRIC_KEY: Capability[src]

put-asymmetric-key: write asymmetric objects

pub const PUT_AUTHENTICATION_KEY: Capability[src]

put-authentication-key: write authentication key objects

pub const PUT_HMAC_KEY: Capability[src]

put-hmac-key: write HMAC key objects

pub const PUT_OPAQUE: Capability[src]

put-opaque: Write Opaque Objects

pub const PUT_OPTION: Capability[src]

set-option: write device-global options

pub const PUT_OTP_AEAD_KEY: Capability[src]

put-otp-aead-key: write OTP AEAD key objects

pub const PUT_TEMPLATE: Capability[src]

put-template: write template objects

pub const PUT_WRAP_KEY: Capability[src]

put-wrap-key: write WrapKey objects

pub const RESET_DEVICE: Capability[src]

reset-device: factory reset the device

pub const SIGN_SSH_CERTIFICATE: Capability[src]

sign-ssh-certificate: sign SSH certificates

pub const UNWRAP_DATA: Capability[src]

unwrap-data: unwrap user-provided data

pub const WRAP_DATA: Capability[src]

wrap-data: wrap user-provided data

pub const CHANGE_AUTHENTICATION_KEY: Capability[src]

change-authentication-key: overwrite existing authentication key with new one

pub const UNKNOWN_CAPABILITY_47: Capability[src]

unknown capability: bit 47

pub const UNKNOWN_CAPABILITY_48: Capability[src]

unknown capability: bit 48

pub const UNKNOWN_CAPABILITY_49: Capability[src]

unknown capability: bit 49

pub const UNKNOWN_CAPABILITY_50: Capability[src]

unknown capability: bit 50

pub const UNKNOWN_CAPABILITY_51: Capability[src]

unknown capability: bit 51

pub const UNKNOWN_CAPABILITY_52: Capability[src]

unknown capability: bit 52

pub const UNKNOWN_CAPABILITY_53: Capability[src]

unknown capability: bit 53

pub const UNKNOWN_CAPABILITY_54: Capability[src]

unknown capability: bit 54

pub const UNKNOWN_CAPABILITY_55: Capability[src]

unknown capability: bit 55

pub const UNKNOWN_CAPABILITY_56: Capability[src]

unknown capability: bit 56

pub const UNKNOWN_CAPABILITY_57: Capability[src]

unknown capability: bit 57

pub const UNKNOWN_CAPABILITY_58: Capability[src]

unknown capability: bit 58

pub const UNKNOWN_CAPABILITY_59: Capability[src]

unknown capability: bit 59

pub const UNKNOWN_CAPABILITY_60: Capability[src]

unknown capability: bit 60

pub const UNKNOWN_CAPABILITY_61: Capability[src]

unknown capability: bit 61

pub const UNKNOWN_CAPABILITY_62: Capability[src]

unknown capability: bit 62

pub const UNKNOWN_CAPABILITY_63: Capability[src]

unknown capability: bit 63

pub const fn empty() -> Capability[src]

Returns an empty set of flags

pub const fn all() -> Capability[src]

Returns the set containing all flags.

pub const fn bits(&self) -> u64[src]

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u64) -> Option<Capability>[src]

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u64) -> Capability[src]

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const unsafe fn from_bits_unchecked(bits: u64) -> Capability[src]

Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).

pub const fn is_empty(&self) -> bool[src]

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool[src]

Returns true if all flags are currently set.

pub const fn intersects(&self, other: Capability) -> bool[src]

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: Capability) -> bool[src]

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: Capability)[src]

Inserts the specified flags in-place.

pub fn remove(&mut self, other: Capability)[src]

Removes the specified flags in-place.

pub fn toggle(&mut self, other: Capability)[src]

Toggles the specified flags in-place.

pub fn set(&mut self, other: Capability, value: bool)[src]

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Binary for Capability[src]

impl BitAnd<Capability> for Capability[src]

type Output = Capability

The resulting type after applying the & operator.

fn bitand(self, other: Capability) -> Capability[src]

Returns the intersection between the two sets of flags.

impl BitAndAssign<Capability> for Capability[src]

fn bitand_assign(&mut self, other: Capability)[src]

Disables all flags disabled in the set.

impl BitOr<Capability> for Capability[src]

type Output = Capability

The resulting type after applying the | operator.

fn bitor(self, other: Capability) -> Capability[src]

Returns the union of the two sets of flags.

impl BitOrAssign<Capability> for Capability[src]

fn bitor_assign(&mut self, other: Capability)[src]

Adds the set of flags.

impl BitXor<Capability> for Capability[src]

type Output = Capability

The resulting type after applying the ^ operator.

fn bitxor(self, other: Capability) -> Capability[src]

Returns the left flags, but with all the right flags toggled.

impl BitXorAssign<Capability> for Capability[src]

fn bitxor_assign(&mut self, other: Capability)[src]

Toggles the set of flags.

impl Clone for Capability[src]

impl Copy for Capability[src]

impl Debug for Capability[src]

impl Default for Capability[src]

impl<'de> Deserialize<'de> for Capability[src]

impl Display for Capability[src]

impl Eq for Capability[src]

impl Extend<Capability> for Capability[src]

impl FromIterator<Capability> for Capability[src]

impl FromStr for Capability[src]

type Err = ()

The associated error which can be returned from parsing.

impl Hash for Capability[src]

impl LowerHex for Capability[src]

impl Not for Capability[src]

type Output = Capability

The resulting type after applying the ! operator.

fn not(self) -> Capability[src]

Returns the complement of this set of flags.

impl Octal for Capability[src]

impl Ord for Capability[src]

impl PartialEq<Capability> for Capability[src]

impl PartialOrd<Capability> for Capability[src]

impl Serialize for Capability[src]

impl StructuralEq for Capability[src]

impl StructuralPartialEq for Capability[src]

impl Sub<Capability> for Capability[src]

type Output = Capability

The resulting type after applying the - operator.

fn sub(self, other: Capability) -> Capability[src]

Returns the set difference of the two sets of flags.

impl SubAssign<Capability> for Capability[src]

fn sub_assign(&mut self, other: Capability)[src]

Disables all flags enabled in the set.

impl UpperHex for Capability[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.