From 18f51b402414a6e0f9217a6e4f84fde3724eb926 Mon Sep 17 00:00:00 2001 From: "Dmitriy A. Gerasimov" <dmitriy.gerasimov@demlabs.net> Date: Tue, 29 Oct 2019 18:06:24 +0700 Subject: [PATCH] [*] Replaced old OpenSSL calls to the internal functions --- src/db_auth.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/db_auth.c b/src/db_auth.c index 470a088..1e18491 100755 --- a/src/db_auth.c +++ b/src/db_auth.c @@ -41,6 +41,8 @@ #include "http_status_code.h" #include <mongoc.h> +#include "SimpleFIPS202.h" + #define LOG_TAG "db_auth" @@ -326,8 +328,9 @@ bool db_auth_change_password(const char* user, const char* new_password) bson_error_t error; - char salt[8]; - RAND_bytes(salt, 8); + char salt[9]={0}; + dap_random_string_fill(salt,sizeof(salt)); + unsigned const char * password_hash = hash_password(new_password, salt, 8); char salt_b64[8*2] = {0}; @@ -735,8 +738,8 @@ db_auth_info_t * db_auth_register(const char *user,const char *password, (mongo_client, l_db_name, "dap_users"); bson_error_t error; - char salt[8]; - RAND_bytes(salt, 8); + char salt[9]={0}; + dap_random_string_fill(salt, sizeof (salt)); unsigned const char * password_hash = hash_password(password, salt, 8); char salt_b64[8*2] = {0}; @@ -859,8 +862,8 @@ db_auth_info_t * db_auth_register_channel(const char* name_channel, const char* mongoc_client_get_collection (mongo_client, l_db_name, "dap_channels"); bson_error_t error; - char salt[8]; - RAND_bytes(salt, 8); + char salt[9]={0}; + dap_random_string_fill(salt, sizeof (salt)); unsigned const char * password_hash = hash_password(password, salt, 8); bson_t *doc = BCON_NEW("name_channel", name_channel, @@ -1178,8 +1181,8 @@ inline static unsigned char* hash_password(const unsigned char* password, unsign memcpy(str, password, len_pswd); memcpy(str + len_pswd, salt, salt_size); - SHA512(str, length_str, md); - SHA512(salt, salt_size, md + DB_AUTH_HASH_LENGTH); + SHA3_512(md, str, length_str); + SHA3_512(md + DB_AUTH_HASH_LENGTH, salt, salt_size); return md; } -- GitLab