From d0a40f2a4434b94d58192c920204512a46ea4d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 2 Feb 2024 10:56:08 -0500 Subject: [PATCH] getPasswordKey: try to decrypt to check if password is valid Change-Id: I74f9ec6e69d2de0da7a589e013b9c3f3f29382ce --- src/jamidht/archive_account_manager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/jamidht/archive_account_manager.cpp b/src/jamidht/archive_account_manager.cpp index 66f28c41f0..b549984610 100644 --- a/src/jamidht/archive_account_manager.cpp +++ b/src/jamidht/archive_account_manager.cpp @@ -657,7 +657,10 @@ ArchiveAccountManager::getPasswordKey(const std::string& password) { try { auto data = dhtnet::fileutils::loadFile(fileutils::getFullPath(path_, archivePath_)); - return dht::crypto::aesGetKey(data, password); + // Try to decrypt to check if password is valid + auto key = dht::crypto::aesGetKey(data, password); + auto decrypted = dht::crypto::aesDecrypt(dht::crypto::aesGetEncrypted(data), key); + return key; } catch (const std::exception& e) { JAMI_ERR("Error loading archive: %s", e.what()); } -- GitLab