Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/format/Kdbx4Writer.cpp')
-rw-r--r--src/format/Kdbx4Writer.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/format/Kdbx4Writer.cpp b/src/format/Kdbx4Writer.cpp
index 03d549cf0..1810d9aa7 100644
--- a/src/format/Kdbx4Writer.cpp
+++ b/src/format/Kdbx4Writer.cpp
@@ -53,15 +53,15 @@ bool Kdbx4Writer::writeDatabase(QIODevice* device, Database* db)
QByteArray endOfHeader = "\r\n\r\n";
if (!db->setKey(db->key(), false, true)) {
- raiseError(tr("Unable to calculate master key"));
+ raiseError(tr("Unable to calculate database key: %1").arg(db->keyError()));
return false;
}
- // generate transformed master key
+ // generate transformed database key
CryptoHash hash(CryptoHash::Sha256);
hash.addData(masterSeed);
- Q_ASSERT(!db->transformedMasterKey().isEmpty());
- hash.addData(db->transformedMasterKey());
+ Q_ASSERT(!db->transformedDatabaseKey().isEmpty());
+ hash.addData(db->transformedDatabaseKey());
QByteArray finalKey = hash.result();
// write header
@@ -109,7 +109,7 @@ bool Kdbx4Writer::writeDatabase(QIODevice* device, Database* db)
QByteArray headerHash = CryptoHash::hash(headerData, CryptoHash::Sha256);
// write HMAC-authenticated cipher stream
- QByteArray hmacKey = KeePass2::hmacKey(masterSeed, db->transformedMasterKey());
+ QByteArray hmacKey = KeePass2::hmacKey(masterSeed, db->transformedDatabaseKey());
QByteArray headerHmac =
CryptoHash::hmac(headerData, HmacBlockStream::getHmacKey(UINT64_MAX, hmacKey), CryptoHash::Sha256);
CHECK_RETURN_FALSE(writeData(device, headerHash));