diff --git a/libretroshare/src/tests/util/aes_test.cc b/libretroshare/src/tests/util/aes_test.cc index f97fc9c5b..a31bba4ab 100644 --- a/libretroshare/src/tests/util/aes_test.cc +++ b/libretroshare/src/tests/util/aes_test.cc @@ -81,10 +81,10 @@ int main(int argc,char *argv[]) for(int j=0;j<8;++j) salt[j] = lrand48() & 0xff ; - unsigned char output_data[source_string.size() + 1 + 16] ; - uint32_t output_data_length = source_string.size() + 1 + 16 ; + unsigned char output_data[source_string.size() + 16] ; + uint32_t output_data_length = source_string.size() + 16 ; - CHECK(RsAes::aes_crypt_8_16( (const uint8_t*)source_string.c_str(),source_string.length()+1,key_data,salt,output_data,output_data_length)) ; + CHECK(RsAes::aes_crypt_8_16( (const uint8_t*)source_string.c_str(),source_string.length(),key_data,salt,output_data,output_data_length)) ; std::cerr << "Round " << i << " salt=" ; printHex(salt,8) ; @@ -92,19 +92,19 @@ int main(int argc,char *argv[]) printHex(output_data,output_data_length) ; std::cerr << std::endl; - unsigned char output_data2[output_data_length + 1 + 16] ; - uint32_t output_data_length2 = output_data_length + 1 + 16 ; + unsigned char output_data2[output_data_length + 16] ; + uint32_t output_data_length2 = output_data_length + 16 ; CHECK(RsAes::aes_decrypt_8_16(output_data,output_data_length,key_data,salt,output_data2,output_data_length2)) ; -// std::cerr << " output_length = " << output_data_length2 << ", decrypted string = " ; -// printHex(output_data2,output_data_length2) ; -// std::cerr << std::endl; + std::cerr << " output_length = " << output_data_length2 << ", decrypted string = " ; + printHex(output_data2,output_data_length2) ; + std::cerr << std::endl; CHECK(std::string( (const char *)output_data2,output_data_length2) == source_string) ; } - FINALREPORT("Sha1Test") ; + FINALREPORT("AESTest") ; return TESTRESULT() ; } diff --git a/libretroshare/src/util/rsaes.cc b/libretroshare/src/util/rsaes.cc index e1e9d0af1..5dc7b20c6 100644 --- a/libretroshare/src/util/rsaes.cc +++ b/libretroshare/src/util/rsaes.cc @@ -57,15 +57,13 @@ bool RsAes::aes_crypt_8_16(const uint8_t *input_data,uint32_t input_data_length, if(output_data_length < (uint32_t)c_len) return false ; - output_data_length = c_len ; - /* update ciphertext, c_len is filled with the length of ciphertext generated, *len is the size of plaintext in bytes */ EVP_EncryptUpdate(&e_ctx, output_data, &c_len, input_data, input_data_length); /* update ciphertext with the final remaining bytes */ - EVP_EncryptFinal_ex(&e_ctx, const_cast(input_data)+c_len, &f_len); + EVP_EncryptFinal_ex(&e_ctx, output_data+c_len, &f_len); output_data_length = c_len + f_len; @@ -109,7 +107,7 @@ bool RsAes::aes_decrypt_8_16(const uint8_t *input_data,uint32_t input_data_lengt EVP_DecryptUpdate(&e_ctx, output_data, &c_len, input_data, input_data_length); /* update ciphertext with the final remaining bytes */ - EVP_DecryptFinal_ex(&e_ctx, const_cast(input_data)+c_len, &f_len); + EVP_DecryptFinal_ex(&e_ctx, output_data+c_len, &f_len); output_data_length = c_len + f_len;