diff --git a/crates/ctap2-proto/src/authenticator/client_pin/mod.rs b/crates/ctap2-proto/src/authenticator/client_pin/mod.rs index 675fe96..57a3478 100644 --- a/crates/ctap2-proto/src/authenticator/client_pin/mod.rs +++ b/crates/ctap2-proto/src/authenticator/client_pin/mod.rs @@ -15,7 +15,6 @@ use raw::{RawRequest, RawResponse}; pub type PinUvAuthParam = [u8; 16]; - #[derive(Clone, Copy, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum PinUvAuthToken { @@ -23,6 +22,15 @@ pub enum PinUvAuthToken { Long([u8; 32]), } +impl AsRef<[u8]> for PinUvAuthToken { + fn as_ref(&self) -> &[u8] { + match self { + PinUvAuthToken::Short(bytes) => bytes.as_ref(), + PinUvAuthToken::Long(bytes) => bytes.as_ref(), + } + } +} + #[cfg(feature = "serde")] impl TryFrom<&[u8]> for PinUvAuthToken { type Error = Error;