Trait SoloKeyAuthenticator

Source
pub trait SoloKeyAuthenticator {
    // Required methods
    fn get_solokey_lock<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<bool, WebauthnCError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_solokey_random<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<[u8; 57], WebauthnCError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_solokey_uuid<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<Uuid, WebauthnCError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_solokey_version<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = Result<u32, WebauthnCError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Available on crate features vendor-solokey and ctap2 only.
Expand description

SoloKey (Trussed) vendor-specific commands.

§Warning

These commands currently operate on any Ctap20Authenticator, and do not filter to just SoloKey/Trussed devices. Due to the nature of CTAP vendor-specific commands, this may cause unexpected or undesirable behaviour on other vendors’ keys.

Protocol notes are in [crate::transport::solokey].

Required Methods§

Source

fn get_solokey_lock<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<bool, WebauthnCError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets a SoloKey’s lock (secure boot) status.

Source

fn get_solokey_random<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<[u8; 57], WebauthnCError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets some random bytes from a SoloKey.

Source

fn get_solokey_uuid<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<Uuid, WebauthnCError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets a SoloKey’s UUID.

Source

fn get_solokey_version<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<u32, WebauthnCError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets a SoloKey’s firmware version.

Implementors§

Source§

impl<'a, T: Token + SoloKeyToken, U: UiCallback> SoloKeyAuthenticator for Ctap20Authenticator<'a, T, U>