mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 01:18:44 +02:00
fixed password change (broken since migration to CBC encryption)
This commit is contained in:
parent
b96e434345
commit
c1fca4764b
@ -16,12 +16,10 @@ async function changePassword(currentPassword, newPassword, req) {
|
||||
}
|
||||
|
||||
const newPasswordVerificationKey = utils.toBase64(await my_scrypt.getVerificationHash(newPassword));
|
||||
const newPasswordDerivedKey = await my_scrypt.getPasswordDerivedKey(newPassword);
|
||||
|
||||
const decryptedDataKey = await password_encryption.getDataKey(currentPassword);
|
||||
|
||||
await sql.doInTransaction(async () => {
|
||||
await password_encryption.setDataKey(newPasswordDerivedKey, decryptedDataKey);
|
||||
await password_encryption.setDataKey(newPassword, decryptedDataKey);
|
||||
|
||||
await options.setOption('password_verification_hash', newPasswordVerificationKey);
|
||||
|
||||
|
@ -11,14 +11,14 @@ async function verifyPassword(password) {
|
||||
return givenPasswordHash === dbPasswordHash;
|
||||
}
|
||||
|
||||
async function setDataKey(password, plainText) {
|
||||
async function setDataKey(password, plainTextDataKey) {
|
||||
const passwordDerivedKey = await my_scrypt.getPasswordDerivedKey(password);
|
||||
|
||||
const encryptedDataKeyIv = utils.randomSecureToken(16).slice(0, 16);
|
||||
|
||||
await options.setOption('encrypted_data_key_iv', encryptedDataKeyIv);
|
||||
|
||||
const buffer = Buffer.from(plainText);
|
||||
const buffer = Buffer.from(plainTextDataKey);
|
||||
|
||||
const newEncryptedDataKey = data_encryption.encrypt(passwordDerivedKey, encryptedDataKeyIv, buffer);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user