Skip to content

Commit

Permalink
[XrdCrypto] bf32: respect the key length when encrypting/decrypting.
Browse files Browse the repository at this point in the history
  • Loading branch information
simonmichal committed May 11, 2022
1 parent d2938ba commit aaec7a3
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/XrdCrypto/XrdCryptoLite_bf32.cc
Expand Up @@ -94,7 +94,10 @@ int XrdCryptoLite_bf32::Decrypt(const char *key,
// Decrypt
//
EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
EVP_DecryptInit_ex(ctx, EVP_bf_cfb64(), 0, (unsigned char *)key, ivec);
EVP_DecryptInit_ex(ctx, EVP_bf_cfb64(), NULL, NULL, NULL);
EVP_CIPHER_CTX_set_padding(ctx, 0);
EVP_CIPHER_CTX_set_key_length(ctx, keyLen);
EVP_DecryptInit_ex(ctx, NULL, NULL, (unsigned char *)key, ivec);
EVP_DecryptUpdate(ctx, (unsigned char *)dst, &wLen,
(unsigned char *)src, srcLen);
EVP_DecryptFinal_ex(ctx, (unsigned char *)dst, &wLen);
Expand Down Expand Up @@ -149,7 +152,10 @@ int XrdCryptoLite_bf32::Encrypt(const char *key,
// Encrypt
//
EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
EVP_EncryptInit_ex(ctx, EVP_bf_cfb64(), 0, (unsigned char *)key, ivec);
EVP_EncryptInit_ex(ctx, EVP_bf_cfb64(), NULL, NULL, NULL);
EVP_CIPHER_CTX_set_padding(ctx, 0);
EVP_CIPHER_CTX_set_key_length(ctx, keyLen);
EVP_EncryptInit_ex(ctx, NULL, NULL, (unsigned char *)key, ivec);
EVP_EncryptUpdate(ctx, (unsigned char *)dst, &wLen, bP, dLen);
EVP_EncryptFinal_ex(ctx, (unsigned char *)dst, &wLen);
EVP_CIPHER_CTX_free(ctx);
Expand Down

0 comments on commit aaec7a3

Please sign in to comment.