Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set attestation object containing CBOR encoded authData, fmt and attStmt #782

Merged
merged 6 commits into from
Mar 20, 2024

Conversation

yesvivek
Copy link

@yesvivek yesvivek commented Feb 7, 2024

Applications using Javascript WebAuthn APIs to communicate with FIDO2 devices get CBOR encoded attestation object containing authData, fmt and attStmt; more details about the JS API are given at MDN. Since there are no straight ways to set this value, I have updated libfido to set internal values after parsing the CBOR encoded attestation-object.
This will mean that the applications using libfido doesn't have to handle CBOR data at all, just like how other high level libraries in other languages behave.
Summary of changes:

  • fido_cred_set_attobj API is added to set attestation object containing CBOR encoded authData, fmt and attStmt
  • Supporting routines to parse and set the internal structure.

Relevant issue #749 .

src/cred.c Outdated Show resolved Hide resolved
src/cred.c Show resolved Hide resolved
@yesvivek
Copy link
Author

yesvivek commented Feb 9, 2024

Assuming this change will be merged, any idea when the next release is?

Copy link
Contributor

@LDVG LDVG left a comment

Choose a reason for hiding this comment

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

I pushed a few additional tweaks on top of your changes, let me know if anything looks off. 🙂

Assuming this change will be merged, any idea when the next release is?

There's no exact dates planned yet. It's likely it'd be sometime this spring.

man/fido_cred_set_authdata.3 Outdated Show resolved Hide resolved
man/fido_cred_set_authdata.3 Outdated Show resolved Hide resolved
@yesvivek
Copy link
Author

@LDVG is there anything needed that is blocking merge with main?

@LDVG LDVG force-pushed the support-attestation-object-input branch from 1ad623c to 4e7a885 Compare February 23, 2024 09:58
@LDVG
Copy link
Contributor

LDVG commented Feb 23, 2024

@LDVG is there anything needed that is blocking merge with main?

Apologies for the delays. There shouldn't be much more needed to get this through, though a final review may take a little bit longer. I squashed some of the intermediate commits, I hope that is fine with you.

(note that the currently failing pipeline appears unrelated to these changes)

@LDVG LDVG force-pushed the support-attestation-object-input branch from 4e7a885 to f82ea7f Compare February 27, 2024 09:23
@LDVG
Copy link
Contributor

LDVG commented Mar 7, 2024

Note (mostly to myself): Pushed a tentative fuzzer harness; needs seed corpora.

Copy link
Contributor

@martelletto martelletto left a comment

Choose a reason for hiding this comment

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

left some comments; nothing major; LGTM

fuzz/fuzz_attobj.c Outdated Show resolved Hide resolved
man/fido_cred_set_authdata.3 Show resolved Hide resolved
src/cbor.c Show resolved Hide resolved
@LDVG LDVG force-pushed the support-attestation-object-input branch from b7e5fbd to 3fe9f9e Compare March 13, 2024 10:26
@LDVG
Copy link
Contributor

LDVG commented Mar 20, 2024

Seed corpora updated.

@LDVG LDVG requested a review from kongeo March 20, 2024 07:39
Copy link
Member

@kongeo kongeo left a comment

Choose a reason for hiding this comment

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

LGTM!

@kongeo kongeo merged commit 4881e69 into Yubico:main Mar 20, 2024
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants