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

Support passkeys with Bitwarden import #11401

Merged

Conversation

varjolintu
Copy link
Member

@varjolintu varjolintu commented Oct 23, 2024

Add Support for passkeys when importing JSON from Bitwarden. Passkey related static attribute names are moved to EntryAttributes.

All attributes can be used directly, except the Credential ID needs to be changed from pseudo-UUID format to a hex array, and to base64 encoded string. Private key is stored as base64 with URL encoding, but KeePassXC expects a normal base64 encoding instead (in PEM string format).

Fixes #10775.

Testing strategy

Manually. Automatic tests added with a new JSON file that includes a single passkey from webauthn.io.

Type of change

  • ✅ New feature (change that adds functionality)

@opotonniee
Copy link

Given that fido alliance just published the first version of the passkey exchange format and protocol, and that most password managers will start supporting it soon, it this the good time for this PR ? Wouldn't it make more sense to implement this new spec, which ensures the keys are properly encrypted in transit?
https://fidoalliance.org/specifications-credential-exchange-specifications/

@droidmonkey
Copy link
Member

droidmonkey commented Oct 24, 2024

This is a fantastic time, especially since bitwarden is in a bit of strife, and the spec is in draft. Transferring passkeys is not mutually exclusive to the official spec and import mechanisms.

@varjolintu
Copy link
Member Author

Even with the new exchange format they will probably keep the data around for the database export. If at some point they are changing things and allowing passkeys to be exported only using the new protocol (and export files don't have them anymore), we will support that feature too.

@droidmonkey droidmonkey added this to the v2.7.10 milestone Oct 25, 2024
@droidmonkey droidmonkey merged commit 6e0baf9 into keepassxreboot:develop Oct 25, 2024
11 checks passed
@varjolintu varjolintu deleted the feature/bitwarden_passkey_import branch October 25, 2024 03:28
@phoerious phoerious added pr: new feature Pull request that adds a new feature and removed new feature labels Nov 22, 2024
@droidmonkey droidmonkey added the pr: backported Pull request backported to previous release label Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: Passkeys import: Bitwarden pr: backported Pull request backported to previous release pr: new feature Pull request that adds a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Import passkeys from Bitwarden JSON-export
4 participants