tpm2: Use EVP_CIPHER_CTX_get_params() to get IV

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
Stefan Berger 2023-02-11 11:19:11 -05:00 committed by Stefan Berger
parent 06ada5ad3e
commit d08b929ded

View File

@ -292,12 +292,21 @@ TPM_RC DoEVPGetIV(
size_t iv_len // IN: size of the buffer
)
{
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
OSSL_PARAM params[] = {
OSSL_PARAM_octet_ptr(OSSL_CIPHER_PARAM_UPDATED_IV, &iv, iv_len),
OSSL_PARAM_END
};
if (EVP_CIPHER_CTX_get_params(ctx, params) != 1)
return TPM_RC_FAILURE;
#else
const unsigned char *c_iv;
c_iv = EVP_CIPHER_CTX_iv(ctx);
if (!c_iv)
return TPM_RC_FAILURE;
memcpy(iv, c_iv, iv_len);
#endif // OPENSSL_VERSION_NUMBER
return 0;
}