Skip to content

Add support for CTAP 2.3 and release v0.6.0-rc.1#77

Merged
robin-nitrokey merged 5 commits into
mainfrom
ctap2.3
May 22, 2026
Merged

Add support for CTAP 2.3 and release v0.6.0-rc.1#77
robin-nitrokey merged 5 commits into
mainfrom
ctap2.3

Conversation

@robin-nitrokey
Copy link
Copy Markdown
Member

This PR contains rebased, cherry-picked and modified commits from #75 to reduce the scope of the changes.

My changes are in the fixup commits except for the ctap2.3 commit where I’ve removed ML-DSA support from the commit itself as it is not directly related to CTAP 2.3. My changes mainly are:

  • Fix the order of the extension struct fields to ensure canonical CBOR encoding.
  • Remove the Version::Fido2_2 variant: CTAP 2.2 somestimes mentions the FIDO_2_2 version but does not define it for the versions field in getInfo. CTAP 2.3 explicitly states: “The string "FIDO_2_2" was not defined for CTAP2.2 and MUST not be present in versions member.”
  • Rename make_credential::Extensions to ExtensionsInput for consistency with get_assertion.

@0x0ece Please have a look at my changes, especially regarding the FIDO_2_2 version.

Copy link
Copy Markdown
Contributor

@0x0ece 0x0ece left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

One minor note, since we're bumping the version to 0.6, I might consider including also the "test-client" feature. That allows to serde in both directions, useful for tests. But no strong feeling if you prefer not to.
f6db2f7

(and then we can leave the stack refactor + ml-dsa for a future version).

Comment thread src/ctap2/get_assertion.rs
@robin-nitrokey
Copy link
Copy Markdown
Member Author

Thanks for the review! I don’t plan to release v0.6.0 directly. Tagging a release candidate just makes incremental updates easier. So I would definitely pull in the other changes (and maybe some more) before doing the actual release.

@robin-nitrokey robin-nitrokey merged commit b8ec306 into main May 22, 2026
13 checks passed
@robin-nitrokey robin-nitrokey deleted the ctap2.3 branch May 22, 2026 10:56
@robin-nitrokey robin-nitrokey mentioned this pull request May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants