bpellin / keepassdroid

KeePass implementation for android
http://www.keepassdroid.com
Other
1.38k stars 346 forks source link

compatibility with keepass key creation v2 #438

Closed Ibrahim-Achkar closed 3 years ago

Ibrahim-Achkar commented 3 years ago

I recently switched from keepassx to keepassxc on windows and:

This seems to have broken compatibility with keepassdroid (as well as keepass2android).

I tested by creating a new database using keepassxc and got the following results:

Throughout this whole time the databases worked in keepassxc on windows.

So it seems like this is something to do with keepassxc creating .key/x files and/or modifying the .kdbx on key creation in a way that keepassdroid does not like?

Ibrahim-Achkar commented 3 years ago

I tried creating another database + key in keepass password safe (which gives more options on key creation) and it looks like version 2 of the key creator is incompatible with both keepassdroid and keepass2android. creating a v1 key works. image

J-Jamet commented 3 years ago

This new key format requires to change the XML parser in order to check the version number and to make the hexadecimal hash of the filled key. It's not easy, I made the modifications on my fork (KeePassDX) in Kotlin, you can get inspiration from it if you want compatibility with this new format on KeePassDroid.

Ibrahim-Achkar commented 3 years ago

Thanks for letting me know! This is outside of my skillset but someone else might want to take it up? I'll check out KeePassDX!

bpellin commented 3 years ago

This will be fixed in version 2.5.15, which will be available in the play store in the near future if you join the beta track. https://play.google.com/apps/testing/com.android.keepass