-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Import passkeys from Bitwarden JSON-export #10775
Comments
great thank you for the snippet, we don't import them because this export of passkeys from Bitwarden is brand new. To manually import you need to transcribe the following: My best guess is the following mapping: credentialId -> KPEX_PASSKEY_CREDENTIAL_ID Since they are exporting the key type, algorithm, and curve I bet the keyValue is not in PEM format... |
Can you create a throw away passkey in Bitwarden on https://webauthn.me and export that with the actual values in tact? You can make a bunch with different key types as well to help us with the import values. |
Wait, Bitwarden now exports passkeys in unencrypted form? |
I will try to generate keys with different algorithms in WebAuthn's debugging mode in a Bitwarden test-account the coming week. One interesting thing -and the one that keeps me away from publishing results of my current WebAuth-testing with my real Bitwarden-vault- is, that the first 47 characters in the keyValue-field seem to be the same for all passkeys (not only those for WebAuthn) I have generated so far. All of these passkeys use ECDSA and P-256, so it could just be related to the algorithms used, but I'm not sure. |
The exported results from Bitwarden are as follows:
I also added the passkey using the same username 'test' in KeepassXC, and here are the results:
As you can see, the format is consistent, with the exception of the |
@hu3rror Credential ID is usually generated when a passkey is registered. According to this line, they might be using GUID for it by default: The example value |
The value are in Base64 encoding |
Hello! |
If you can help create keys with different algorithms or curves that would be very helpful |
I created another passkey on https://webauthn.me/ . Passkey generation with Bitwarden only works with the default settings on the landing page for me. When selecting other combinations in webauthn's debug mode the page reports that no supported algorithms are found. I don't know whether Bitwarden lacks support for other curves etc.. |
Hello everyone, I am working on a Python script to import data from Bitwarden to KeePassXC and I am encountering the same issue described: the passkeys are not being imported correctly into KeePassXC. Has there been any progress or solution to this problem? |
I just successfully managed to import a passkey from Bitwarden to KeePassXC. The process was still quite manual, but I'll work a PR for the importer. |
There is an upcoming standard called Credential Exchange Format (CXF). As Bitwarden is part of the special interest group, I assume they will implement this too. |
We are aware. There's already an issue open: #11363 |
Overview
When exporting Bitwardens database at least the current version 2024.4.3 seems to include passkeys.
Unfortunately when importing such a JSON-export into KeePass 2.7.8 the passkeys are not present afterwards,
Steps to Reproduce
Expected Behavior
KeePassXC should also import the passkeys and they should be usable in the newly created KeepAssXC-database.
Actual Behavior
The passkeys are missing or are at least not accessible in KeePassXC after import.
Context
Below is a quote from the JSON file that shows that the passkeys are (or at least seem to be) included.
I have removed (REDACTED) all personal information from it.
As long as the automatic import seems impossible: Which parts do I need to provide when re-creating my passkeys manually in KeepAssXC? Two fields, keyValue and userHandle, contain data looking like cryptographic material.
KeePassXC - 2.7.8
Operating System: Windows
The text was updated successfully, but these errors were encountered: