52 Commits (16d11745a3a73a28b6f0786271ae24ff6ce0d6ba)

Author SHA1 Message Date
Nick Zana 16d11745a3 ctap2-proto: Serialize/Deserialize authenticator::client_pin::AuthProtocolVersion as u8
Use u8::From<AuthProtocolVersion> and AuthProtocolVersion::TryFrom<u8>
implementations instead of manually implementing Serialize/Deserialize.
2 years ago
Nick Zana 4a816e846c ctap2-proto: Add cosey dependency for COSE PublicKey type
Used to manage serialization and deserialization of COSE public keys
instead of coset in order to be able to derive De/Serialize for types
that include COSE public keys as fields in CBOR messages.

coset is inadequate for the purpose because it uses a distinct
AsCborSerialize trait instead of the standard serde::{Serialize,
Deserialize} traits.
2 years ago
Nick Zana 5ea0cfeb9e ctap2-proto: Derive common traits for extensions::cred_protect::Policy
Derive Clone, Copy, and serde traits for usage in CTAP messages
2 years ago
Nick Zana 67a2986167 ctap2-proto: Gate serde attributes for authenticator::assertion::get types behind serde feature 2 years ago
Nick Zana 860f574f0a ctap2-proto: Add hex dev-dependency for CBOR debugging 2 years ago
Nick Zana cea42642dc ctap2-proto: Set associated raw values for extensions::cred_protect::Policy enum 2 years ago
Nick Zana e1b50351a3 Remove all clippy warning bypasses 2 years ago
Nick Zana 76089d60cb ctap2_proto: remove extraneous client_pin::Subcommand enum 2 years ago
Nick Zana 413b55f098 ctap2-proto: Add self params to Ctap Authentictaor methods
Self required to access authenticator.
2 years ago
Nick Zana 0804a06f02 ctap2-proto: Uncomment temporarily disabled methods 2 years ago
Nick Zana 7db826dc78 ctap2-proto: derive serde traits for authenticator::reset::Error 2 years ago
Nick Zana b5e33f889e ctap2-hid: All ctap commands need self reference 2 years ago
Nick Zana 7f8f97b0c3 ctap2-proto: Derive builder trait for authenticator::credential::make::Request
Adds typed-builder dependency to derive Builder struct.
2 years ago
Nick Zana 8bf52aa842 ctap2-proto: Derive Deserialize for authenticator::assertion::get::Response 2 years ago
Nick Zana eb4ccf34a3 ctap2-proto: Derive Serialize for authenticator::credential::get::Request 2 years ago
Nick Zana 49dfb44ea7 ctap2-proto: Derive serde traits for authenticator::credential::get::OptionKey 2 years ago
Nick Zana 50bdffbe08 ctap2-proto: Derive Deserialize for authenticator::credential::make::Response 2 years ago
Nick Zana 9d46ecf75b ctap2-proto: Add attestation_statement field to credential::make::Response 2 years ago
Nick Zana 54d8ffc2bf ctap2-proto: Derive Serialize for credential::make::Request
Enables cfg_eval feature because serde_as does not support cfg_attr for
conditional compilation.
2 years ago
Nick Zana ea1df60e74 ctap2-proto: Make make::Request::pin_uv_auth_param optional
the `pin_uv_auth_param` field is an optional field in the CTAP spec.
2 years ago
Nick Zana 573069afad ctap2-proto: Derive serde traits for credential::make::OptionKey 2 years ago
Nick Zana 12d6f7fe51 ctap2-proto: Derive common traits for credential::{make, get}
Derives Debug and other common traits for the credential::{make, get}
types.
2 years ago
Nick Zana 754fc51510 ctap2-proto: Include all of fido-common in prelude 2 years ago
Nick Zana 166fe1bca6 ctap2-proto: Add serde_with
Required for serializing and deserializing Vec<u8>s as byte strings
instead of sequences of bytes in CTAP request/response types.
2 years ago
Nick Zana cfc7856894 Patch serde to github.com/AndrewScull/serde fork
serde_derive does not currently support using integer values as map
keys. CTAP uses integer values for various CBOR map keys. In order to
properly serialize and deserialize types for the CTAP protocol, a forked
version of serde from a pull request that adds support for renaming
field keys as integer types is used.

Tracked in <https://github.com/serde-rs/serde/pull/2209>
2 years ago
Nick Zana d4a94b83af ctap2-proto: Derive serde for device::Info
Serde renames are integers because CTAP uses integer keys in CBOR maps
2 years ago
Nick Zana 76cec18d0a ctap2-proto: Add missing device::Option CredentialManagementPreview 2 years ago
Nick Zana 38bd34becc ctap2-proto: Rename device::Options to proper serde names
Enum names are full names for clarity and readability. Serde renamed to
compressed CTAP protocol names.
2 years ago
Nick Zana 4670954e0d ctap2-proto: Derive serde for authenticator certification levels 2 years ago
Nick Zana 2434c8602a ctap2-proto: rename authenticator::device::Version to proper serde names
Renamed every value to screaming snake case manually to ensure that the
large number of acronyms and numbers don't cause an accidentally
incorrect value to be derived.
2 years ago
Nick Zana 542a3b9b77 ctap2-proto: Derive serde types for UsizeN
Just a wrapper struct around bounded_integer::BoundedUsize the
bounded_integer/serde1 feature needs to be enabled.
2 years ago
Nick Zana 3f61a17784 ctap2-proto: Derive Debug for helper type UsizeN 2 years ago
Nick Zana 1ca1793a24 ctap2-proto: Add new CTAP 2.2 device::Info fields 2 years ago
Nick Zana 502fe2b176 ctap2-proto: Implement serde for authentciator::client_pin::AuthProtocolVersion 2 years ago
Nick Zana 282a7518ec ctap2-proto: Ctap2_2Authenticator::get_assertion requires self param 2 years ago
Nick Zana e1b8a49f0e ctap2-proto: Replace HashMap with BTreeMap for make::Request 2 years ago
Nick Zana 5bc9e57c11 ctap2-proto: formatting 2 years ago
Nick Zana 999c96d3c5 ctap2-proto: Add CTAP Command enum
Adds ctap2_proto::Command enum to represent the CTAP command codes for
the authenticator commands.
2 years ago
Nick Zana 5803ed02c2 ctap2-proto: Remove bounded_vec dependency
bounded_vec does not correctly handle collections with a lower bound of
0.
2 years ago
Nick Zana 0fb2487154
Move several types from ctap2-proto to fido-common 2 years ago
Nick Zana 0b03bda84b
replace usage of Hash{Set, Map} with BTree 2 years ago
Nick Zana 12ce6070e0
ctap2-proto: Make Sha256Hash inner array public 2 years ago
Nick Zana 508011230c
ctap2-proto: Add optional AuthenticatorData fields 2 years ago
Nick Zana 04b37d73a4
ctap2-proto: Add unsigned_extension_outputs to make::Response 2 years ago
Nick Zana 5f87584176
ctap2-proto: Replace unecessary owned types with references in make::Request
Remove IndexMap in favor of borrowed slices for make::Request fields
Update imports
2 years ago
Nick Zana 5cc976afbd
ctap2_proto: Add a from method to Aaguid type 2 years ago
Nick Zana 749e7cf2ae
ctap2-proto: Add derives for AuthProtocolVersion 2 years ago
Nick Zana 4f38796923
ctap2-proto: Change unecessary owned types to references in get::Request 2 years ago
Nick Zana 7d15578852
ctap2-proto: Add bio-enrollment return type 2 years ago
Nick Zana 85a3260c4a
ctap2-proto: Add &self param to get_info 2 years ago