Commit Graph
127 Commits
Author SHA1 Message Date
Sosthène Guédon 63b491ca55 Prepare release 0.3.0 2024-08-01 15:19:52 +02:00
Robin Krahl 72eb68b61e Implement Copy for ctap2::AttestationStatementFormat
This change was accidentally removed from
https://github.com/trussed-dev/ctap-types/pull/51 during a rebase.
2024-06-27 12:02:29 +02:00
Robin Krahl ff20dfb504 Add support for attestation format preferences 2024-06-27 11:34:40 +02:00
Robin Krahl a62ef30003 Add enterprise attestation support to get_assertion 2024-06-27 11:32:00 +02:00
Robin Krahl fd403fdd07 Add unsigned extension outputs 2024-06-27 11:23:15 +02:00
Robin Krahl a7b9168178 Update get_info for CTAP 2.2 2024-06-27 11:21:56 +02:00
Robin Krahl 5e4c69b0e3 Implement thirdPartyPayment extension 2024-06-27 11:18:19 +02:00
Robin Krahl d8bf6ea0f8 Extend fuzzing for ctap1 and ctap2 requests
Previously, we only fuzzed the deserialization of
PublicKeyCredentialUserEntity.  This patch replaces that fuzz target
with the deserialization of entire ctap1 and ctap2 requests.
2024-06-27 11:07:35 +02:00
Robin Krahl 4c6a2cb509 Add arbitrary::Arbitrary implementations for requests
This makes it possible to use the requests in fuzzing.  The
implementations are behind an arbitrary feature.  As arbitrary requires
std, we also introduce a std feature.  Both new features are disabled by
default.
2024-06-27 10:58:49 +02:00
Robin Krahl 8a487544f0 Extend serialization tests
This patch adds de-/serialization tests for the modules ctap1,
ctap2::client_pin and ctap2::large_blobs.

See also: https://github.com/trussed-dev/ctap-types/issues/54
2024-06-24 15:46:45 +02:00
Robin Krahl 3a6cc6c70f Add serialization tests for get_info
These tests makes sure that the serialization of the new enums works
correctly, and also help to detect accidental changes to the field order
used by serde_indexed in the response struct.
2024-06-24 10:18:36 +02:00
Robin Krahl 86f7b3dc93 Use enums instead of string constants
Previously, we used String<_> to represent string constants in some
responses.  This has multiple drawbacks:
- It is error-prone because the value is not validated.
- Construction is fallible because of the fixed length of the string.
- The length needs to be bumped if longer values are added.

This patch introduces enums to replace these constants.  As cbor_smol
serializes enums using the variant index instead of the string, we need
to manually implement the string conversion.
2024-06-22 15:06:10 +02:00
Robin Krahl be9589d303 Release v0.2.0 0.2.0 2024-06-21 13:53:55 +02:00
Robin Krahl 8ed4af3aa1 make_credential: Make att_stmt optional in Response
In CTAP 2.2, att_stmt will be optional in the make_credential response.
Applying this change now allows us to release v0.2.0 and then add the
remaining (compatible) changes required for CTAP 2.2 in a patch release.
2024-06-21 11:15:52 +02:00
Robin Krahl 8732e0096d Use byte arrays where possible
Fixes: https://github.com/trussed-dev/ctap-types/issues/45
2024-06-21 11:00:20 +02:00
Robin Krahl cd854a815b get_info: Add fields for CTAP 2.1 2024-06-21 10:11:17 +02:00
Robin Krahl bf5736b750 get_info: Put uncommon fields behind feature flag 2024-06-21 10:08:12 +02:00
Robin Krahl aa1164c64e Use references where possible 2024-06-21 10:05:09 +02:00
Robin Krahl d172ccb154 Check all features in CI 2024-06-20 10:03:04 +02:00
Robin Krahl 3e42568a39 Mark requests and responses as non-exhaustive 2024-06-12 12:49:11 +02:00
Robin Krahl 261c928602 Mark extension structs as non-exhaustive 2024-06-12 12:13:59 +02:00
Robin Krahl a59d966081 Remove dead code
This patch removes code that has been commented out and empty files that
are not actually used.  It also removes the unused and undocumented
get_assertion::Responses typedef.
2024-06-12 12:11:34 +02:00
Robin Krahl 18d0c5969b Use references for ClientPin, CredentialManagement 2024-06-11 12:37:51 +02:00
Robin Krahl a2cc1089f3 Use cosey 2024-06-02 12:25:42 +02:00
Robin Krahl a9f8003a1d Fix hmac-secret salt_auth size 2024-03-04 09:46:21 +01:00