Strongbox: KDBX 4.0 compatibility

Created on 5 Jan 2019  路  3Comments  路  Source: strongbox-password-safe/Strongbox

I used KeePassXC (Version 2.3.4) to create a KeePass database with Argon2 and ChaCha20:

image

That file seems to work flawlessly in Strongbox (Version 1.4.0):

image

However, the other way around, when creating a new _KeePass 2 Advanced_ (KDBX 4.0, ChaCha20 & Argon2D) database in Strongbox, the saved database cannot be opened in KeePassXC ("_Unsupported key derivation function (KDF) or invalid parameters_") :

image

All 3 comments

The problem is likely here: https://github.com/mmcguill/Strongbox/blob/master/model/keepass/Argon2KdfCipher.m#L111

KeePass2 does not support the use or storage of secret key or assoc data. I don't know this code base, just a hunch.

Hi @vinzf Interesting, and possibly related to something someone else just recently reported. I believe this is probably down to the size of the Argon2 salt. I use 16 bytes by default, whereas I think some libraries, I'm guessing the one used by KeePassXC only supports 32. I'll test this, and get back to you, the plan to switch the default to 32 for the next release was already in place, so this may be a very simple fix.

@droidmonkey , thanks for your help, I don't think it'll be related to secret key or assoc data, these are not used by default, but are supported if any other KeePass client decides to make use of them.

Cheers,
-Mark

Default changed to 32 Bytes, and should be available as of 1.19.3 in the App Store. Compatibility remains for different Salt sizes.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mmcguill picture mmcguill  路  5Comments

F3000 picture F3000  路  5Comments

Ben-Voris picture Ben-Voris  路  4Comments

seonwoolee picture seonwoolee  路  7Comments

eike-fokken picture eike-fokken  路  7Comments