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

Add support for the largeBlobKeys extension and the largeBlobs command #41

Merged
merged 7 commits into from
Nov 28, 2023

Commits on Nov 21, 2023

  1. Update ctap-types

    This patch updates the ctap-types dependency to pull in support for the
    largeBlobKey extension and the largeBlobs command.
    robin-nitrokey committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    6800f49 View commit details
    Browse the repository at this point in the history
  2. Add largeBlobKey support to get_info

    This patch adds support for the largeBlobKey extension to the get_info
    command.  It also adds a config entry to be able to enable or disable
    the extension.
    robin-nitrokey committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    71d14ff View commit details
    Browse the repository at this point in the history
  3. Add largeBlobKey support to make_credential

    This patch adds support for the largeBlobKey extension to
    make_credential.  This means that we have to generate a 32-bit key and
    store it together with the credential if requested by the platform.
    robin-nitrokey committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    c43da04 View commit details
    Browse the repository at this point in the history
  4. Add largeBlobKey support to get_assertion

    This patch adds support for the largeBlobKey extension to get_assertion.
    This means that we have to return the key stored together with the
    credential if it is present and requested by the platform.
    robin-nitrokey committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    48d66c0 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. Implement largeBlobs command

    This patch implements the largeBlobs command for reading and writing the
    large-blob array.  Currently, the maximum size of the total array with
    metadata is 1024 bytes because it has to fit in a Trussed message.  The
    storage location can be configured by the runner.
    robin-nitrokey committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    f3128f8 View commit details
    Browse the repository at this point in the history
  2. Add largeBlobKey to credential management

    This patch updates the credential management implementation to include
    the largeBlobKey if present.
    robin-nitrokey committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    aa9bb35 View commit details
    Browse the repository at this point in the history
  3. Add largeBlobKey to stripped credential

    If a resident credential is passed in the allowlist, we don’t
    deserialize the full credential.  This means that we previously did not
    have access to the largeBlobKey in that case.  Therefore, this patch
    adds the largeBlobKey to the StrippedCredential so that we can always
    access it.
    
    The downside is that this inceases the size of the credential ID.  So a
    better alternative would be to load the full credential from the
    filesystem instead.
    robin-nitrokey committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    019a5d1 View commit details
    Browse the repository at this point in the history