From c2cd0258f104152ec8606f8fc159d4c950c2e990 Mon Sep 17 00:00:00 2001 From: cypherbits Date: Sun, 3 May 2020 15:18:41 +0200 Subject: [PATCH] If admin defined keys with the right length, do not compute the keys. --- chat.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/chat.php b/chat.php index 172d838..4cabf61 100644 --- a/chat.php +++ b/chat.php @@ -4208,8 +4208,8 @@ function load_config(){ define('VERSION', '1.24'); // Script version define('DBVERSION', 42); // Database layout version define('MSGENCRYPTED', false); // Store messages encrypted in the database to prevent other database users from reading them - true/false - visit the setup page after editing! - define('ENCRYPTKEY_PASS', 'MY_SECRET_KEY'); // Encryption key for messages - define('AES_IV_PASS', '1234567890123456'); //AES Encryption IV + define('ENCRYPTKEY_PASS', 'MY_SECRET_KEY'); // Recommended length: 32. Encryption key for messages + define('AES_IV_PASS', '012345678912'); // Recommended length: 12. AES Encryption IV define('DBHOST', 'localhost'); // Database host define('DBUSER', 'www-data'); // Database user define('DBPASS', 'YOUR_DB_PASS'); // Database password @@ -4229,7 +4229,15 @@ function load_config(){ define('LANG', 'en'); // Default language if (MSGENCRYPTED){ //Do not touch: Compute real keys needed by encryption functions - define('ENCRYPTKEY', substr(hash("sha512/256",ENCRYPTKEY_PASS),0, SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES)); - define('AES_IV', substr(hash("sha512/256",AES_IV_PASS), 0, SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES)); + if (strlen(ENCRYPTKEY_PASS) !== SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES){ + define('ENCRYPTKEY', substr(hash("sha512/256",ENCRYPTKEY_PASS),0, SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES)); + }else{ + define('ENCRYPTKEY', ENCRYPTKEY_PASS); + } + if (strlen(AES_IV_PASS) !== SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES){ + define('AES_IV', substr(hash("sha512/256",AES_IV_PASS), 0, SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES)); + }else{ + define('AES_IV', AES_IV_PASS); + } } }