• Martin Kreichgauer's avatar
    fido: support bulk deletion of credentials · 837c696f
    Martin Kreichgauer authored
    This adds a DeleteCredentials() method to CredentialManagementHandler to
    support deletion of multiple credentials identified by the
    CBOR-serialized PublicKeyCredentialDescriptor.
    
    It also extends EnumerateCredentialsResponse with the CBOR-serialized
    PublicKeyCredentialDescriptor such that the UI can use it as an opaque
    identifier for the credentials without having to do CBOR-serialization.
    The FidoAuthenticator::DeleteCredential is changed to take
    PublicKeyCredentialDescriptor rather than a sequence of bytes to
    identify the to-be-deleted credential.
    
    On a CTAP2 level, credentials are identified for deletion not just via
    their credential ID but via the full PublicKeyCredentialDescriptor. The
    spec is unclear on whether the non-ID related fields ('transports' in
    particular) are significant or not. Hence, it's probably wise to just
    echo the descriptor as it was received during credential enumeration,
    rather than send an empty descriptor with only the credential ID.
    
    Bug: 955859
    Change-Id: Id1b7a9094876c701b21000399870bf439de4d8b9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1674411
    Commit-Queue: Martin Kreichgauer <martinkr@google.com>
    Reviewed-by: default avatarAdam Langley <agl@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#672229}
    837c696f
credential_management.h 7.37 KB