[][src]Struct nitrokey::Admin

pub struct Admin<'a, T: Device<'a>> { /* fields omitted */ }

A Nitrokey device with admin authentication.

To obtain an instance of this struct, use the authenticate_admin method from the Authenticate trait. To get back to an unauthenticated device, use the device method.

Methods

impl<'a, T: Device<'a>> Admin<'a, T>[src]

pub fn device(self) -> T[src]

Forgets the user authentication and returns an unauthenticated device. This method consumes the authenticated device. It does not perform any actual commands on the Nitrokey.

pub fn write_config(&mut self, config: Config) -> Result<(), Error>[src]

Writes the given configuration to the Nitrokey device.

Errors

  • InvalidSlot if the provided numlock, capslock or scrolllock slot is larger than two

Example

use nitrokey::{Authenticate, Config};

let mut manager = nitrokey::take()?;
let device = manager.connect()?;
let config = Config::new(None, None, None, false);
match device.authenticate_admin("12345678") {
    Ok(mut admin) => {
        admin.write_config(config);
        ()
    },
    Err((_, err)) => eprintln!("Could not authenticate as admin: {}", err),
};

Trait Implementations

impl<'a, T: Device<'a>> ConfigureOtp for Admin<'a, T>[src]

impl<'a, T: Debug + Device<'a>> Debug for Admin<'a, T>[src]

impl<'a, T: Device<'a>> Deref for Admin<'a, T>[src]

type Target = T

The resulting type after dereferencing.

impl<'a, T: Device<'a>> DerefMut for Admin<'a, T>[src]

Auto Trait Implementations

impl<'a, T> RefUnwindSafe for Admin<'a, T> where
    T: RefUnwindSafe

impl<'a, T> Send for Admin<'a, T> where
    T: Send + Sync

impl<'a, T> Sync for Admin<'a, T> where
    T: Sync

impl<'a, T> Unpin for Admin<'a, T> where
    T: Unpin

impl<'a, T> UnwindSafe for Admin<'a, T> where
    T: RefUnwindSafe + UnwindSafe

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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.