mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
B #5140: make code compatible with openssl 1.1.0
This commit is contained in:
parent
191fca5241
commit
1c2a649635
@ -157,18 +157,30 @@ string * one_util::base64_decode(const string& in)
|
||||
|
||||
string one_util::sha1_digest(const string& in)
|
||||
{
|
||||
EVP_MD_CTX mdctx;
|
||||
EVP_MD_CTX* mdctx;
|
||||
unsigned char md_value[EVP_MAX_MD_SIZE];
|
||||
unsigned int md_len;
|
||||
ostringstream oss;
|
||||
|
||||
EVP_MD_CTX_init(&mdctx);
|
||||
EVP_DigestInit_ex(&mdctx, EVP_sha1(), NULL);
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
mdctx = (EVP_MD_CTX*) malloc(sizeof(EVP_MD_CTX));
|
||||
EVP_MD_CTX_init(mdctx);
|
||||
#else
|
||||
mdctx = EVP_MD_CTX_new();
|
||||
#endif
|
||||
|
||||
EVP_DigestUpdate(&mdctx, in.c_str(), in.length());
|
||||
EVP_DigestInit_ex(mdctx, EVP_sha1(), NULL);
|
||||
|
||||
EVP_DigestFinal_ex(&mdctx,md_value,&md_len);
|
||||
EVP_MD_CTX_cleanup(&mdctx);
|
||||
EVP_DigestUpdate(mdctx, in.c_str(), in.length());
|
||||
|
||||
EVP_DigestFinal_ex(mdctx,md_value, &md_len);
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
EVP_MD_CTX_cleanup(mdctx);
|
||||
free(mdctx);
|
||||
#else
|
||||
EVP_MD_CTX_free(mdctx);
|
||||
#endif
|
||||
|
||||
for(unsigned int i = 0; i<md_len; i++)
|
||||
{
|
||||
@ -184,7 +196,7 @@ string one_util::sha1_digest(const string& in)
|
||||
|
||||
string * one_util::aes256cbc_encrypt(const string& in, const string password)
|
||||
{
|
||||
EVP_CIPHER_CTX ctx;
|
||||
EVP_CIPHER_CTX *ctx;
|
||||
|
||||
const unsigned char *key = (unsigned char*) password.c_str();
|
||||
const unsigned char *in_data = (unsigned char*) in.c_str();
|
||||
@ -193,11 +205,23 @@ string * one_util::aes256cbc_encrypt(const string& in, const string password)
|
||||
|
||||
int outlen1, outlen2;
|
||||
|
||||
EVP_EncryptInit(&ctx, EVP_aes_256_cbc(), key, NULL);
|
||||
EVP_EncryptUpdate(&ctx, out, &outlen1, in_data, in.length());
|
||||
EVP_EncryptFinal(&ctx, out + outlen1, &outlen2);
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
ctx = (EVP_CIPHER_CTX*) malloc(sizeof(EVP_CIPHER_CTX));
|
||||
EVP_CIPHER_CTX_init(ctx);
|
||||
#else
|
||||
ctx = EVP_CIPHER_CTX_new();
|
||||
#endif
|
||||
|
||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||
EVP_EncryptInit(ctx, EVP_aes_256_cbc(), key, NULL);
|
||||
EVP_EncryptUpdate(ctx, out, &outlen1, in_data, in.length());
|
||||
EVP_EncryptFinal(ctx, out + outlen1, &outlen2);
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
EVP_CIPHER_CTX_cleanup(ctx);
|
||||
free(ctx);
|
||||
#else
|
||||
EVP_CIPHER_CTX_free(ctx);
|
||||
#endif
|
||||
|
||||
string encrypt((char*) out, (size_t)(outlen1+outlen2));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user