Wax.Metadata.Statement (wax_ v0.4.1) View Source

Structure representing a FIDO2 metadata statement

Reference: FIDO Metadata Statements

Note that the following keys are not included in this module because of irrelevance:

  • legalHeader
  • alternativeDescriptions
  • tcDisplayPNGCharacteristics
  • icon
  • tc_display_content_type

Link to this section Summary

Link to this section Types

Specs

attachment_hint() ::
  :attachment_hint_internal
  | :attachment_hint_external
  | :attachment_hint_wired
  | :attachment_hint_wireless
  | :attachment_hint_nfc
  | :attachment_hint_bluetooth
  | :attachment_hint_network
  | :attachment_hint_ready
  | :attachment_hint_wifi_direct

Specs

attestation_type() ::
  :tag_attestation_basic_full
  | :tag_attestation_basic_surrogate
  | :tag_attestation_ecdaa
  | :tag_attestation_attca
Link to this type

authentication_algorithm()

View Source

Specs

authentication_algorithm() ::
  :alg_sign_secp256r1_ecdsa_sha256_raw
  | :alg_sign_secp256r1_ecdsa_sha256_der
  | :alg_sign_rsassa_pss_sha256_raw
  | :alg_sign_rsassa_pss_sha256_der
  | :alg_sign_secp256k1_ecdsa_sha256_raw
  | :alg_sign_secp256k1_ecdsa_sha256_der
  | :alg_sign_sm2_sm3_raw
  | :alg_sign_rsa_emsa_pkcs1_sha256_raw
  | :alg_sign_rsa_emsa_pkcs1_sha256_der
  | :alg_sign_rsassa_pss_sha384_raw
  | :alg_sign_rsassa_pss_sha512_raw
  | :alg_sign_rsassa_pkcsv15_sha256_raw
  | :alg_sign_rsassa_pkcsv15_sha384_raw
  | :alg_sign_rsassa_pkcsv15_sha512_raw
  | :alg_sign_rsassa_pkcsv15_sha1_raw
  | :alg_sign_secp384r1_ecdsa_sha384_raw
  | :alg_sign_secp521r1_ecdsa_sha512_raw
  | :alg_sign_ed25519_eddsa_sha256_raw

Specs

key_protection() ::
  :key_protection_software
  | :key_protection_hardware
  | :key_protection_tee
  | :key_protection_secure_element
  | :key_protection_remote_handle

Specs

matcher_protection() ::
  :matcher_protection_software
  | :matcher_protection_tee
  | :matcher_protection_on_chip
Link to this type

public_key_representation_format()

View Source

Specs

public_key_representation_format() ::
  :alg_key_ecc_x962_raw
  | :alg_key_ecc_x962_der
  | :alg_key_rsa_2048_raw
  | :alg_key_rsa_2048_der
  | :alg_key_cose

Specs

t() :: %Wax.Metadata.Statement{
  aaguid: String.t(),
  aaid: String.t(),
  assertion_scheme: String.t(),
  attachment_hint: [attachment_hint()],
  attestation_certificate_key_identifiers: [String.t()],
  attestation_root_certificates: [:public_key.der_encoded()],
  attestation_types: [attestation_type()],
  authentication_algorithm: authentication_algorithm(),
  authentication_algorithms: [authentication_algorithm()],
  authenticator_version: non_neg_integer(),
  crypto_strength: non_neg_integer(),
  description: String.t(),
  ecdaa_trust_anchors: [Wax.Metadata.Statement.EcdaaTrustAnchor],
  is_fresh_user_verification_required: boolean(),
  is_key_restricted: boolean(),
  is_second_factor_only: boolean(),
  key_protection: [key_protection()],
  matcher_protection: matcher_protection(),
  operating_env: String.t(),
  protocol_family: String.t(),
  public_key_alg_and_encoding: public_key_representation_format(),
  public_key_alg_and_encodings: [public_key_representation_format()],
  supported_extensions: [Wax.Metadata.Statement.ExtensionDescriptor],
  tc_display: [tc_display()],
  tc_display_content_type: term(),
  upv: [Wax.Metadata.Statement.UPV.t()],
  user_verification_details: [verification_method_and_combinations()]
}

Specs

tc_display() ::
  :transaction_confirmation_display_any
  | :transaction_confirmation_display_privileged_software
  | :transaction_confirmation_display_tee
  | :transaction_confirmation_display_hardware
  | :transaction_confirmation_display_remote
Link to this type

user_verification_method()

View Source

Specs

user_verification_method() ::
  :user_verify_presence_internal
  | :user_verify_fingerprint_internal
  | :user_verify_passcode_internal
  | :user_verify_voiceprint_internal
  | :user_verify_faceprint_internal
  | :user_verify_location_internal
  | :user_verify_eyeprint_internal
  | :user_verify_pattern_internal
  | :user_verify_handprint_internal
  | :user_verify_passcode_external
  | :user_verify_pattern_external
  | :user_verify_none
  | :user_verify_all
Link to this type

verification_method_and_combinations()

View Source

Specs

verification_method_and_combinations() :: [
  Wax.Metadata.Statement.VerificationMethodDescriptor.t()
]

Link to this section Functions

Specs

from_json!(map() | Keyword.t() | nil) :: t()