43 const unsigned char* key,
45 : decCTX(0), encCTX(0)
47#if OPENSSL_VERSION_NUMBER >= 0x30000000L
57 static struct loadProviders {
59 EVP_MD *mdp = EVP_MD_fetch(NULL,
"SHA2-256", NULL);
60 if (mdp) EVP_MD_free(mdp);
62 (void) OSSL_PROVIDER_load(NULL,
"legacy");
69 unsigned char bfKey[16];
73 keylen =
sizeof(bfKey);
84 if (!(decCTX = EVP_CIPHER_CTX_new()))
return;
85 if (1 != EVP_DecryptInit_ex(decCTX, EVP_bf_ecb(), NULL, NULL, NULL))
return;
86 EVP_CIPHER_CTX_set_padding(decCTX, 0);
87 EVP_CIPHER_CTX_set_key_length(decCTX, keylen);
88 if (1 != EVP_DecryptInit_ex(decCTX, NULL, NULL, key, NULL))
return;
90 if (!(encCTX = EVP_CIPHER_CTX_new()))
return;
91 if (1 != EVP_EncryptInit_ex(encCTX, EVP_bf_ecb(), NULL, NULL, NULL))
return;
92 EVP_CIPHER_CTX_set_padding(encCTX, 0);
93 EVP_CIPHER_CTX_set_key_length(encCTX, keylen);
94 if (1 != EVP_EncryptInit_ex(encCTX, NULL, NULL, key, NULL))
return;