135 Commits

Author SHA1 Message Date
Robin Krahl
92f7ffded4 Release v0.4.0 0.4.0 2025-05-09 11:23:46 +02:00
Robin Krahl
50d966a247 ctap2::client_pin: Make pin_protocol optional in Request
Since CTAP 2.1, the pin_protocol argument is optional for client_pin
requests, see:

https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authnrClientPin-cmd-dfn
2025-05-09 11:23:46 +02:00
Robin Krahl
eb784977ac Fix lifetime annotations
This fixes a new clippy lint.
2025-05-09 11:23:36 +02:00
Robin Krahl
211c1c22c7 Add missing log-trace feature 2025-05-09 11:20:45 +02:00
Robin Krahl
496fec4e73 Release v0.3.2 0.3.2 2024-10-24 19:18:34 +02:00
Robin Krahl
6f860a2dfe Update cbor-smol to v0.5.0 2024-10-22 14:24:11 +02:00
Robin Krahl
5dc6a32ebd Add support for iso7816::command::CommandView 0.3.1 2024-10-18 11:04:21 +02:00
Robin Krahl
4b3953aa4a Prefer inspect_err over map_err
This fixes a new clippy lint.
2024-10-18 09:39:26 +02:00
Sosthène Guédon
699539a800 Prepare release 0.3.0 0.3.0 2024-08-01 15:51:46 +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