pub struct GetInfoResponse {
Show 21 fields pub versions: BTreeSet<String>, pub extensions: Option<Vec<String>>, pub aaguid: Option<Uuid>, pub options: Option<BTreeMap<String, bool>>, pub max_msg_size: Option<u32>, pub pin_protocols: Option<Vec<u32>>, pub max_cred_count_in_list: Option<u32>, pub max_cred_id_len: Option<u32>, pub transports: Option<Vec<String>>, pub algorithms: Option<Value>, pub max_serialized_large_blob_array: Option<usize>, pub force_pin_change: bool, pub min_pin_length: Option<usize>, pub firmware_version: Option<i128>, pub max_cred_blob_length: Option<usize>, pub max_rpids_for_set_min_pin_length: Option<u32>, pub preferred_platform_uv_attempts: Option<u32>, pub uv_modality: Option<u32>, pub certifications: Option<BTreeMap<String, u8>>, pub remaining_discoverable_credentials: Option<u32>, pub vendor_prototype_config_commands: Option<BTreeSet<u64>>,
}
Available on crate feature ctap2 only.
Expand description

Fields§

§versions: BTreeSet<String>

All CTAP protocol versions which the token supports.

§extensions: Option<Vec<String>>

All protocol extensions which the token supports.

§aaguid: Option<Uuid>

The claimed AAGUID.

§options: Option<BTreeMap<String, bool>>

List of supported options.

§max_msg_size: Option<u32>

Maximum message size supported by the authenticator.

§pin_protocols: Option<Vec<u32>>

All PIN/UV auth protocols which the token supports.

§max_cred_count_in_list: Option<u32>§max_cred_id_len: Option<u32>§transports: Option<Vec<String>>

List of supported transports as strings.

Use get_transports to get a list of AuthenticatorTransport.

§algorithms: Option<Value>

List of supported algorithms for credential generation.

§max_serialized_large_blob_array: Option<usize>§force_pin_change: bool§min_pin_length: Option<usize>

Current minimum PIN length, in Unicode code points.

Use get_min_pin_length to get a default value for when this is not present.

§firmware_version: Option<i128>§max_cred_blob_length: Option<usize>§max_rpids_for_set_min_pin_length: Option<u32>§preferred_platform_uv_attempts: Option<u32>§uv_modality: Option<u32>§certifications: Option<BTreeMap<String, u8>>§remaining_discoverable_credentials: Option<u32>

Estimated number of additional discoverable credentials which could be created on the authenticator, assuming maximally-sized fields for all requests (ie: errs low).

If a request to create a maximally-sized discoverable credential might fail due to storage constraints, the authenticator reports 0.

This value may vary over time, depending on the size of individual discoverable credentials, and the token’s storage allocation strategy.

§CTAP compatibility

This field is optional, and may only be present on authenticators supporting CTAP 2.1 and later.

On authenticators supporting credential management (including CTAP 2.1-PRE), an optimistic estimate (ie: presuming minimally-sized fields) may be available from CredentialStorageMetadata::max_possible_remaining_resident_credentials_count.

§vendor_prototype_config_commands: Option<BTreeSet<u64>>

Implementations§

source§

impl GetInfoResponse

source

pub fn get_min_pin_length(&self) -> usize

Current minimum PIN length, in Unicode code points.

If this is not present, defaults to 4.

source

pub fn get_transports(&self) -> Option<Vec<AuthenticatorTransport>>

Gets all supported transports for this authenticator which match known AuthenticatorTransport values. Unknown values are silently discarded.

source

pub fn get_option(&self, option: &str) -> Option<bool>

Gets the state of an option.

source

pub fn ctap21_biometrics(&self) -> Option<bool>

Checks if the authenticator supports and has configured CTAP 2.1 biometric authentication.

See also GetInfoResponse::ctap21pre_biometrics for CTAP 2.1-PRE authenticators.

§Returns
  • None: if not supported.
  • Some(false): if supported, but not configured.
  • Some(true): if supported and configured.
source

pub fn ctap21pre_biometrics(&self) -> Option<bool>

Checks if the authenticator supports and has configured CTAP 2.1-PRE biometric authentication.

See also GetInfoResponse::ctap21_biometrics for CTAP 2.1 authenticators.

§Returns
  • None: if not supported.
  • Some(false): if supported, but not configured.
  • Some(true): if supported and configured.
source

pub fn user_verification_configured(&self) -> bool

Returns true if the authenticator supports built-in user verification, and it has been configured.

source

pub fn supports_config(&self) -> bool

Returns true if the authenticator supports CTAP 2.1 authenticator configuration commands.

source

pub fn supports_enterprise_attestation(&self) -> bool

Returns true if the authenticator supports CTAP 2.1 enterprise attestation.

source

pub fn make_cred_uv_not_required(&self) -> bool

Returns true if user verification is not required for makeCredential requests.

source

pub fn ctap21_credential_management(&self) -> bool

Returns true if the authenticator supports CTAP 2.1 credential management.

source

pub fn ctap21pre_credential_management(&self) -> bool

Returns true if the authenticator supports CTAP 2.1-PRE credential management.

Trait Implementations§

source§

impl CBORResponse for GetInfoResponse

source§

impl Clone for GetInfoResponse

source§

fn clone(&self) -> GetInfoResponse

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetInfoResponse

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GetInfoResponse

source§

fn default() -> GetInfoResponse

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GetInfoResponse

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetInfoResponse

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<GetInfoResponse> for BTreeMap<u32, Value>

source§

fn from(value: GetInfoResponse) -> Self

Converts to this type from the input type.
source§

impl PartialEq for GetInfoResponse

source§

fn eq(&self, other: &GetInfoResponse) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for GetInfoResponse

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TryFrom<BTreeMap<u32, Value>> for GetInfoResponse

§

type Error = &'static str

The type returned in the event of a conversion error.
source§

fn try_from(raw: BTreeMap<u32, Value>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl StructuralPartialEq for GetInfoResponse

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'a, T> AsTaggedExplicit<'a> for T
where T: 'a,

source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self>

source§

impl<'a, T> AsTaggedImplicit<'a> for T
where T: 'a,

source§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,