[][src]Enum yubirs::piv::id::Key

pub enum Key {
    Authentication,
    CardManagement,
    Signature,
    KeyManagement,
    CardAuthentication,
    Retired1,
    Retired2,
    Retired3,
    Retired4,
    Retired5,
    Retired6,
    Retired7,
    Retired8,
    Retired9,
    Retired10,
    Retired11,
    Retired12,
    Retired13,
    Retired14,
    Retired15,
    Retired16,
    Retired17,
    Retired18,
    Retired19,
    Retired20,
    Attestation,
}

This enumeration describes the identifiers for the various slots the Yubikey has for certificates.

Variants

Authentication

Used to authenticate the card and the cardholder. Used for things like system login. The PIN is required to perform any private key operations.

CardManagement

The card management key, used to authenticate administrative / management functionality on the Yubikey itself.

Signature

Used for digital dignatures for the purpose of document signing, or signing files and executables. The PIN is required to perform any private key operations.

KeyManagement

Used for encryption for confidentiality, e.g. encrypting e-mails or files. The PIN is required to perform any private key operations.

CardAuthentication

Used to support additional physical access applications, such as providing physical access to buildings via PIV-enabled door locks. The PIN is NOT required to perform private key operations.

Retired1
Retired2
Retired3
Retired4
Retired5
Retired6
Retired7
Retired8
Retired9
Retired10
Retired11
Retired12
Retired13
Retired14
Retired15
Retired16
Retired17
Retired18
Retired19
Retired20
Attestation

This slot is only available on Yubikey 4.3 and newer. It is used for attestation of other keys generated on device. This slot is not cleared on reset, but can be overwritten.

Methods

impl Key[src]

pub fn to_value(&self) -> c_uchar[src]

pub fn to_object(&self) -> Result<Object>[src]

Each key is stored as a data object on the Yubikey. So, to retrieve a stored key, we need the Object ID associated with it (which this function returns).

Note that, for some Keys, there is no associated Object. In this case, an error will be returned instead.

Trait Implementations

impl Clone for Key[src]

impl Copy for Key[src]

impl Debug for Key[src]

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

impl Display for Key[src]

impl Eq for Key[src]

impl FromStr for Key[src]

type Err = Error

The associated error which can be returned from parsing.

impl Hash for Key[src]

impl PartialEq<Key> for Key[src]

impl Serialize for Key[src]

impl StructuralEq for Key[src]

impl StructuralPartialEq for Key[src]

Auto Trait Implementations

impl RefUnwindSafe for Key

impl Send for Key

impl Sync for Key

impl Unpin for Key

impl UnwindSafe for Key

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: Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,