Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.5k stars 267 forks source link

Could not read credentials #1393

Open akovia opened 2 years ago

akovia commented 2 years ago

Describe the bug

Can not access my passwords any longer. I use KeepassDX every single day and when I went to use it today it no longer had the option to use biometric. After failing to try and set up biometric again by turning it off and back on, I found that I couldn't even access my passwords with my normal credentials. (password and key file.)

I have both a personal and work db on my phone and can still access my work db without issue with biometric credentials.

I sync both dbs with Syncthing and can open both on my desktop without issue. (KeepassXC)

To Reproduce

Steps to reproduce the behavior:

  1. Select existing db
  2. Enter creds
  3. Select Open
  4. See error Could not read credentials

Expected behavior

My db opens

KeePass Database

KeePassDX:

Android:

Additional context

Add any other context about the problem here. I've tried killing the program and clearing the cache. Have also tried duplicating the working db from my desktop and opening that one as well with the same problem. The desktop program is using the same keyfile, so I don't see how that can be the issue.

J-Jamet commented 2 years ago

Your problem is too generalized. My assumption is that Syncthing was doing a synchronization during a backup of the file and therefore it is no longer readable. My recommendation is to use a backup to avoid this kind of case.

Have also tried duplicating the working db from my desktop and opening that one as well with the same problem. The desktop program is using the same keyfile, so I don't see how that can be the issue.

Have you tried a manual copy without using a synchronization software?

akovia commented 2 years ago

I couldn't wait any longer and went back to Keepass2Android and it was able to open the db without issue. I'll work on this again when I have some time.

J-Jamet commented 2 years ago

I tested all database versions and made all KeePass files readable with KeePassDX, so I think there is a bad cache in the file manager that provides your file, especially since it worked fine before.

MDP43140 commented 2 years ago

@akovia sounds like your KeePass Database is corrupted somehow because of Syncthing syncing while KeePassDX making changes to the database at the same time.

dryya commented 1 year ago

I also was experiencing this issue, and resolved it by downloading the key file to my device and pointing to that, rather than pointing to it in OneDrive. I was on a stock Pixel 6 and accessing onedrive via the native file manager. I wonder if there might be some issue with getting the key file from a cloud service? Or, it's also very possible it was just another fluke. I can confirm it wasn't a database corruption issue, since I was opening the exact same database both times.

J-Jamet commented 1 year ago

Concretely, the code of the key files and the database files work on the same principle. So if a file manager breaks a link, it can be the key file or the database file independently.

Nicryc commented 1 year ago

I have the exact same issue right now. I'm using Syncthing, database opens normally on PC using KeepassXC but can't be opened by KeepassDX on Android.

How could the database be corrupted if it opens without issue with KeepassXC ? Is there a way to "un-corrupt" it on Android? I tried deleting it and resynchronizing it, but with the same result, it doesn't work.

J-Jamet commented 1 year ago

If you have tried again with the same synchronization method but it doesn't work for you. You'll obviously have the same problem. Try copying your vault .kdbx file to your Android device manually.

jeff-sweeney commented 4 months ago

I have a similar problem but I use Nextcloud to synchronize my database. In my case, when I select the database file from the Nextcloud file system KeepassDX opens it with no problems. When I open the database from KeepassDX I get the 'Could not read credentials' error.

luisfl commented 1 month ago

Same problem here. I cannot open the DB anymore, neither with fingerprint, nor with its password. Until yesterday everything worked fine. DB is not corrupted since I can open it normally in Linux.

aderchox commented 3 weeks ago

I'm experiencing the same issue here, transferring the vault's file using Cryptomator, works on my desktop, but doesn't work on KeePassDX. Of course it used to work and I used it several times, however, this time it doesn't. Considering the fact that both Syncthingers and me, a Cryptomatorer have experienced this shows that it is a real thing and probably an issue of KeePassXC/KeePassDX.

pbhj commented 2 weeks ago

Same issue for me, using Google Drive on Android. I updated my Google Play apps on my phone yesterday, which updated Google Drive and Google Files; but I did not update KeePassDX at that time (as I have version 4.0.8 from F-Droid). Now it asks for a password instead of a biometric, the password (known correct) fails with "could not read credentials".