Replace "Master Key" with "Database Credentials"
Definitions: * Database Key - Cryptographic hash used to perform encrypt/decrypt of the database. * Database Credentials - User facing term to refer to the collection of Password, Key File, and/or Hardware Key used to derive the Database Key. Changes: * Remove the term "master" and "key" from the user's lexicon and clarify the code base based on the definitions above. * Clean up wording in the UI to be clearer to the end user.
This commit is contained in:
@@ -351,7 +351,7 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
|
||||
|
||||
PasswordKey oldTransformedKey;
|
||||
if (m_data.key->isEmpty()) {
|
||||
oldTransformedKey.setHash(m_data.transformedMasterKey->rawKey());
|
||||
oldTransformedKey.setHash(m_data.transformedDatabaseKey->rawKey());
|
||||
}
|
||||
|
||||
KeePass2Writer writer;
|
||||
@@ -366,7 +366,7 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray newKey = m_data.transformedMasterKey->rawKey();
|
||||
QByteArray newKey = m_data.transformedDatabaseKey->rawKey();
|
||||
Q_ASSERT(!newKey.isEmpty());
|
||||
Q_ASSERT(newKey != oldTransformedKey.rawKey());
|
||||
if (newKey.isEmpty() || newKey == oldTransformedKey.rawKey()) {
|
||||
@@ -662,9 +662,9 @@ Database::CompressionAlgorithm Database::compressionAlgorithm() const
|
||||
return m_data.compressionAlgorithm;
|
||||
}
|
||||
|
||||
QByteArray Database::transformedMasterKey() const
|
||||
QByteArray Database::transformedDatabaseKey() const
|
||||
{
|
||||
return m_data.transformedMasterKey->rawKey();
|
||||
return m_data.transformedDatabaseKey->rawKey();
|
||||
}
|
||||
|
||||
QByteArray Database::challengeResponseKey() const
|
||||
@@ -723,7 +723,7 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
|
||||
|
||||
if (!key) {
|
||||
m_data.key.reset();
|
||||
m_data.transformedMasterKey.reset(new PasswordKey());
|
||||
m_data.transformedDatabaseKey.reset(new PasswordKey());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -732,28 +732,28 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
|
||||
Q_ASSERT(!m_data.kdf->seed().isEmpty());
|
||||
}
|
||||
|
||||
PasswordKey oldTransformedMasterKey;
|
||||
PasswordKey oldTransformedDatabaseKey;
|
||||
if (m_data.key && !m_data.key->isEmpty()) {
|
||||
oldTransformedMasterKey.setHash(m_data.transformedMasterKey->rawKey());
|
||||
oldTransformedDatabaseKey.setHash(m_data.transformedDatabaseKey->rawKey());
|
||||
}
|
||||
|
||||
QByteArray transformedMasterKey;
|
||||
QByteArray transformedDatabaseKey;
|
||||
|
||||
if (!transformKey) {
|
||||
transformedMasterKey = QByteArray(oldTransformedMasterKey.rawKey());
|
||||
} else if (!key->transform(*m_data.kdf, transformedMasterKey, &m_keyError)) {
|
||||
transformedDatabaseKey = QByteArray(oldTransformedDatabaseKey.rawKey());
|
||||
} else if (!key->transform(*m_data.kdf, transformedDatabaseKey, &m_keyError)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_data.key = key;
|
||||
if (!transformedMasterKey.isEmpty()) {
|
||||
m_data.transformedMasterKey->setHash(transformedMasterKey);
|
||||
if (!transformedDatabaseKey.isEmpty()) {
|
||||
m_data.transformedDatabaseKey->setHash(transformedDatabaseKey);
|
||||
}
|
||||
if (updateChangedTime) {
|
||||
m_metadata->setMasterKeyChanged(Clock::currentDateTimeUtc());
|
||||
m_metadata->setDatabaseKeyChanged(Clock::currentDateTimeUtc());
|
||||
}
|
||||
|
||||
if (oldTransformedMasterKey.rawKey() != m_data.transformedMasterKey->rawKey()) {
|
||||
if (oldTransformedDatabaseKey.rawKey() != m_data.transformedDatabaseKey->rawKey()) {
|
||||
markAsModified();
|
||||
}
|
||||
|
||||
@@ -908,16 +908,16 @@ bool Database::changeKdf(const QSharedPointer<Kdf>& kdf)
|
||||
Q_ASSERT(!m_data.isReadOnly);
|
||||
|
||||
kdf->randomizeSeed();
|
||||
QByteArray transformedMasterKey;
|
||||
QByteArray transformedDatabaseKey;
|
||||
if (!m_data.key) {
|
||||
m_data.key = QSharedPointer<CompositeKey>::create();
|
||||
}
|
||||
if (!m_data.key->transform(*kdf, transformedMasterKey)) {
|
||||
if (!m_data.key->transform(*kdf, transformedDatabaseKey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
setKdf(kdf);
|
||||
m_data.transformedMasterKey->setHash(transformedMasterKey);
|
||||
m_data.transformedDatabaseKey->setHash(transformedDatabaseKey);
|
||||
markAsModified();
|
||||
|
||||
return true;
|
||||
|
||||
@@ -130,7 +130,7 @@ public:
|
||||
QSharedPointer<Kdf> kdf() const;
|
||||
void setKdf(QSharedPointer<Kdf> kdf);
|
||||
bool changeKdf(const QSharedPointer<Kdf>& kdf);
|
||||
QByteArray transformedMasterKey() const;
|
||||
QByteArray transformedDatabaseKey() const;
|
||||
|
||||
static Database* databaseByUuid(const QUuid& uuid);
|
||||
|
||||
@@ -164,7 +164,7 @@ private:
|
||||
CompressionAlgorithm compressionAlgorithm = CompressionGZip;
|
||||
|
||||
QScopedPointer<PasswordKey> masterSeed;
|
||||
QScopedPointer<PasswordKey> transformedMasterKey;
|
||||
QScopedPointer<PasswordKey> transformedDatabaseKey;
|
||||
QScopedPointer<PasswordKey> challengeResponseKey;
|
||||
|
||||
QSharedPointer<const CompositeKey> key;
|
||||
@@ -174,7 +174,7 @@ private:
|
||||
|
||||
DatabaseData()
|
||||
: masterSeed(new PasswordKey())
|
||||
, transformedMasterKey(new PasswordKey())
|
||||
, transformedDatabaseKey(new PasswordKey())
|
||||
, challengeResponseKey(new PasswordKey())
|
||||
{
|
||||
kdf->randomizeSeed();
|
||||
@@ -185,7 +185,7 @@ private:
|
||||
filePath.clear();
|
||||
|
||||
masterSeed.reset();
|
||||
transformedMasterKey.reset();
|
||||
transformedDatabaseKey.reset();
|
||||
challengeResponseKey.reset();
|
||||
|
||||
key.reset();
|
||||
|
||||
@@ -251,17 +251,17 @@ const Group* Metadata::lastTopVisibleGroup() const
|
||||
return m_lastTopVisibleGroup;
|
||||
}
|
||||
|
||||
QDateTime Metadata::masterKeyChanged() const
|
||||
QDateTime Metadata::databaseKeyChanged() const
|
||||
{
|
||||
return m_masterKeyChanged;
|
||||
}
|
||||
|
||||
int Metadata::masterKeyChangeRec() const
|
||||
int Metadata::databaseKeyChangeRec() const
|
||||
{
|
||||
return m_data.masterKeyChangeRec;
|
||||
}
|
||||
|
||||
int Metadata::masterKeyChangeForce() const
|
||||
int Metadata::databaseKeyChangeForce() const
|
||||
{
|
||||
return m_data.masterKeyChangeForce;
|
||||
}
|
||||
@@ -474,7 +474,7 @@ void Metadata::setLastTopVisibleGroup(Group* group)
|
||||
set(m_lastTopVisibleGroup, group);
|
||||
}
|
||||
|
||||
void Metadata::setMasterKeyChanged(const QDateTime& value)
|
||||
void Metadata::setDatabaseKeyChanged(const QDateTime& value)
|
||||
{
|
||||
Q_ASSERT(value.timeSpec() == Qt::UTC);
|
||||
m_masterKeyChanged = value;
|
||||
|
||||
@@ -96,9 +96,9 @@ public:
|
||||
QDateTime entryTemplatesGroupChanged() const;
|
||||
const Group* lastSelectedGroup() const;
|
||||
const Group* lastTopVisibleGroup() const;
|
||||
QDateTime masterKeyChanged() const;
|
||||
int masterKeyChangeRec() const;
|
||||
int masterKeyChangeForce() const;
|
||||
QDateTime databaseKeyChanged() const;
|
||||
int databaseKeyChangeRec() const;
|
||||
int databaseKeyChangeForce() const;
|
||||
int historyMaxItems() const;
|
||||
int historyMaxSize() const;
|
||||
CustomData* customData();
|
||||
@@ -133,7 +133,7 @@ public:
|
||||
void setEntryTemplatesGroupChanged(const QDateTime& value);
|
||||
void setLastSelectedGroup(Group* group);
|
||||
void setLastTopVisibleGroup(Group* group);
|
||||
void setMasterKeyChanged(const QDateTime& value);
|
||||
void setDatabaseKeyChanged(const QDateTime& value);
|
||||
void setMasterKeyChangeRec(int value);
|
||||
void setMasterKeyChangeForce(int value);
|
||||
void setHistoryMaxItems(int value);
|
||||
@@ -142,7 +142,7 @@ public:
|
||||
/*
|
||||
* Copy all attributes from other except:
|
||||
* - Group pointers/uuids
|
||||
* - Master key changed date
|
||||
* - Database key changed date
|
||||
* - Custom icons
|
||||
* - Custom fields
|
||||
* - Settings changed date
|
||||
|
||||
Reference in New Issue
Block a user