pub enum Capability {
Show 56 variants
ChangeAuthenticationKey,
CreateOtpAead,
DecryptCbc,
DecryptEcb,
DecryptOaep,
DecryptOtp,
DecryptPkcs,
DeleteAsymmetricKey,
DeleteAuthenticationKey,
DeleteHmacKey,
DeleteOpaque,
DeleteOtpAeadKey,
DeletePublicWrapKey,
DeleteSymmetricKey,
DeleteTemplate,
DeleteWrapKey,
DeriveEcdh,
EncryptCbc,
EncryptEcb,
ExportableUnderWrap,
ExportWrapped,
GenerateAsymmetricKey,
GenerateHmacKey,
GenerateOtpAeadKey,
GenerateSymmetricKey,
GenerateWrapKey,
GetLogEntries,
GetOpaque,
GetOption,
GetPseudoRandom,
GetTemplate,
ImportWrapped,
PutAsymmetricKey,
PutAuthenticationKey,
PutHmacKey,
PutOpaque,
PutOtpAeadKey,
PutPublicWrapKey,
PutSymmetricKey,
PutTemplate,
PutWrapKey,
RandomizeOtpAead,
ResetDevice,
RewrapFromOtpAeadKey,
RewrapToOtpAeadKey,
SetOption,
SignAttestationCertificate,
SignEcdsa,
SignEddsa,
SignHmac,
SignPkcs,
SignPss,
SignSshCertificate,
UnwrapData,
VerifyHmac,
WrapData,
}Expand description
A capability of an object stored on a YubiHSM2.
Variants§
ChangeAuthenticationKey
Replace authentication key objects.
Applicable for authentication key objects.
CreateOtpAead
Create OTP AEAD.
Applicable for authentication and OTP AEAD key objects.
DecryptCbc
Decrypt data using AES CBC mode.
Applicable for authentication and symmetric key objects.
DecryptEcb
Decrypt data using AES ECB mode.
Applicable for authentication and symmetric key objects.
DecryptOaep
Decrypt data using RSA-OAEP.
Applicable for authentication and asymmetric key objects.
DecryptOtp
Decrypt OTP.
Applicable for authentication and OTP AEAD key objects.
DecryptPkcs
Decrypt data using RSA-PKCS1v1.5.
Applicable for authentication and asymmetric key objects.
DeleteAsymmetricKey
Delete asymmetric key objects.
Applicable for authentication key objects.
DeleteAuthenticationKey
Delete authentication key objects.
Applicable for authentication key objects.
DeleteHmacKey
Delete HMAC key objects.
Applicable for authentication key objects.
DeleteOpaque
Delete opaque objects.
Applicable for authentication key objects.
DeleteOtpAeadKey
Delete OTP AEAD key objects.
Applicable for authentication key objects.
DeletePublicWrapKey
Delete RSA public wrap key.
Applicable for authentication and wrap key objects.
DeleteSymmetricKey
Delete AES key.
Applicable for authentication key objects.
DeleteTemplate
Delete template objects.
Applicable for authentication key objects.
DeleteWrapKey
Delete wrap key objects.
Applicable for authentication key objects.
DeriveEcdh
Perform ECDH.
Applicable for authentication and asymmetric key objects.
EncryptCbc
Encrypt data using AES CBC mode.
Applicable for authentication and symmetric key objects.
EncryptEcb
Encrypt data using AES ECB mode.
Applicable for authentication and symmetric key objects.
ExportableUnderWrap
The object can be exported under wrap (encrypted).
Applicable for all objects.
ExportWrapped
Export other objects under wrap.
Applicable for authentication and wrap key objects.
§Note
Both the authentication key used for export and the wrapping key need to be capable of export.
GenerateAsymmetricKey
Generate asymmetric key objects.
Applicable for authentication key objects.
GenerateHmacKey
Generate HMAC key objects.
Applicable for authentication key objects.
GenerateOtpAeadKey
Generate OTP AEAD key objects.
Applicable for authentication key objects.
GenerateSymmetricKey
Generate AES key.
Applicable for authentication key objects.
GenerateWrapKey
Generate wrap key objects.
Applicable for authentication key objects.
GetLogEntries
Read the log store.
Applicable for authentication key objects.
GetOpaque
Read opaque objects.
Applicable for authentication key objects.
GetOption
Read device-global options.
Applicable for authentication key objects.
GetPseudoRandom
Extract random bytes.
Applicable for authentication key objects.
GetTemplate
Read template objects.
Applicable for authentication key objects.
ImportWrapped
Import wrapped objects.
Applicable for authentication and wrap key objects.
§Note
Both the authentication key used for import and the wrapping key need to be capable of import.
PutAsymmetricKey
Write asymmetric key objects.
Applicable for authentication key objects.
PutAuthenticationKey
Write authentications key objects.
Applicable for authentication key objects.
PutHmacKey
Write HMAC key objects.
Applicable for authentication key objects.
PutOpaque
Write opaque objects.
Applicable for authentication key objects.
PutOtpAeadKey
Write OTP AEAD key objects.
Applicable for authentication key objects.
PutPublicWrapKey
Write RSA public wrap key.
Applicable for authentication and wrap key objects.
PutSymmetricKey
Import AES key.
Applicable for authentication key objects.
PutTemplate
Write template objects.
Applicable for authentication key objects.
PutWrapKey
Write wrap key objects.
Applicable for authentication key objects.
RandomizeOtpAead
Create OTP AEAD from random data.
Applicable for authentication and OTP AEAD key objects.
ResetDevice
Perform a factory reset on the device.
Applicable for authentication key objects.
RewrapFromOtpAeadKey
Rewrap AEADs from one OTP AEAD key to another.
Applicable for authentication and OTP AEAD key objects.
RewrapToOtpAeadKey
Rewrap AEADs to one OTP AEAD key from another.
Applicable for authentication and OTP AEAD key objects.
SetOption
Write device-global options.
Applicable for authentication key objects.
SignAttestationCertificate
Attest properties of asymmetric key objects.
Applicable for authentication and asymmetric key objects.
SignEcdsa
Compute digital signatures using ECDSA.
Applicable for authentication and asymmetric key objects.
SignEddsa
Compute digital signatures using EdDSA.
Applicable for authentication and asymmetric key objects.
SignHmac
Compute HMAC of data.
Applicable for authentication and HMAC key objects.
SignPkcs
Compute digital signatures using RSA-PKCS1v1.5.
Applicable for authentication and asymmetric key objects.
SignPss
Compute digital signatures using RSA-PSS.
Applicable for authentication and asymmetric key objects.
SignSshCertificate
Sign SSH certificates.
Applicable for authentication and asymmetric key objects.
UnwrapData
Unwrap user-provided data.
Applicable for authentication and wrap key objects.
VerifyHmac
Verify HMAC of data.
Applicable for authentication and HMAC key objects.
WrapData
Wrap user-provided data.
Applicable for authentication and wrap key objects.
Trait Implementations§
Source§impl AsRef<str> for Capability
impl AsRef<str> for Capability
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Capability
impl Debug for Capability
Source§impl<'de> Deserialize<'de> for Capability
impl<'de> Deserialize<'de> for Capability
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for Capability
impl Display for Capability
Source§impl<'_derivative_strum> From<&'_derivative_strum Capability> for &'static str
impl<'_derivative_strum> From<&'_derivative_strum Capability> for &'static str
Source§fn from(x: &'_derivative_strum Capability) -> &'static str
fn from(x: &'_derivative_strum Capability) -> &'static str
Source§impl From<&Capability> for Capability
impl From<&Capability> for Capability
Source§fn from(value: &Capability) -> Self
fn from(value: &Capability) -> Self
Source§impl From<Capability> for &'static str
impl From<Capability> for &'static str
Source§fn from(x: Capability) -> &'static str
fn from(x: Capability) -> &'static str
Source§impl FromStr for Capability
impl FromStr for Capability
Source§impl Hash for Capability
impl Hash for Capability
Source§impl IntoEnumIterator for Capability
impl IntoEnumIterator for Capability
type Iterator = CapabilityIter
fn iter() -> CapabilityIter ⓘ
Source§impl Ord for Capability
impl Ord for Capability
Source§fn cmp(&self, other: &Capability) -> Ordering
fn cmp(&self, other: &Capability) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for Capability
impl PartialEq for Capability
Source§impl PartialOrd for Capability
impl PartialOrd for Capability
Source§impl Serialize for Capability
impl Serialize for Capability
Source§impl TryFrom<&str> for Capability
impl TryFrom<&str> for Capability
Source§impl ValueEnum for Capability
impl ValueEnum for Capability
impl Copy for Capability
impl Eq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.