* Tweak the logic so it more closely resembles other code (i.e.
trasnformKey()). Matches existing style better.
* Save the challengeResponseKey in the database structure so that
it can be referred to later (i.e. database unlocking).
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
* If a removed Yubikey is to blame, re-inserting the Yubikey won't
resolve the issue. Hot plug isn't supported at this point.
* The caller should detect the error and cancel the database write.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
* The challengeMasterSeed() function return empty if not present
maintaining backwards compatability.
* This commit is where the challenge response result is computed into
the final key used to encrypt or decrypt the database.
Signed-off-by: Kyle Manna <kyle@kylemanna.com>
This hopefully completes support for reading/writing kdbx <= 2.14 files.
Also fix a bug in KeePass2XmlWriter so it sets Protected="True" in the Value
tag instead of Key.