[ruby/openssl] hmac: use EVP_MD_CTX_get_pkey_ctx() instead of EVP_MD_CTX_pkey_ctx()
OpenSSL 3.0 renamed EVP_MD_CTX_pkey_ctx() to include "get" in the function name. Adjust compatibility macro so that we can use the new function name for all OpenSSL 1.0.2-3.0. https://github.com/ruby/openssl/commit/c106d888c6
This commit is contained in:
parent
040387d265
commit
16272d9ae9
@ -177,6 +177,7 @@ have_func("TS_VERIFY_CTX_set_certs(NULL, NULL)", "openssl/ts.h")
|
|||||||
have_func("SSL_CTX_load_verify_file")
|
have_func("SSL_CTX_load_verify_file")
|
||||||
have_func("BN_check_prime")
|
have_func("BN_check_prime")
|
||||||
have_func("EVP_MD_CTX_get0_md")
|
have_func("EVP_MD_CTX_get0_md")
|
||||||
|
have_func("EVP_MD_CTX_get_pkey_ctx")
|
||||||
|
|
||||||
Logging::message "=== Checking done. ===\n"
|
Logging::message "=== Checking done. ===\n"
|
||||||
|
|
||||||
|
@ -21,10 +21,6 @@
|
|||||||
# define EVP_MD_CTX_free EVP_MD_CTX_destroy
|
# define EVP_MD_CTX_free EVP_MD_CTX_destroy
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(HAVE_EVP_MD_CTX_PKEY_CTX)
|
|
||||||
# define EVP_MD_CTX_pkey_ctx(x) (x)->pctx
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(HAVE_X509_STORE_GET_EX_DATA)
|
#if !defined(HAVE_X509_STORE_GET_EX_DATA)
|
||||||
# define X509_STORE_get_ex_data(x, idx) \
|
# define X509_STORE_get_ex_data(x, idx) \
|
||||||
CRYPTO_get_ex_data(&(x)->ex_data, (idx))
|
CRYPTO_get_ex_data(&(x)->ex_data, (idx))
|
||||||
@ -223,4 +219,16 @@ IMPL_PKEY_GETTER(EC_KEY, ec)
|
|||||||
# define EVP_MD_CTX_get0_md(ctx) EVP_MD_CTX_md(ctx)
|
# define EVP_MD_CTX_get0_md(ctx) EVP_MD_CTX_md(ctx)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenSSL 1.1.0 added EVP_MD_CTX_pkey_ctx(), and then it was renamed to
|
||||||
|
* EVP_MD_CTX_get_pkey_ctx(x) in OpenSSL 3.0.
|
||||||
|
*/
|
||||||
|
#ifndef HAVE_EVP_MD_CTX_GET_PKEY_CTX
|
||||||
|
# ifdef HAVE_EVP_MD_CTX_PKEY_CTX
|
||||||
|
# define EVP_MD_CTX_get_pkey_ctx(x) EVP_MD_CTX_pkey_ctx(x)
|
||||||
|
# else
|
||||||
|
# define EVP_MD_CTX_get_pkey_ctx(x) (x)->pctx
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _OSSL_OPENSSL_MISSING_H_ */
|
#endif /* _OSSL_OPENSSL_MISSING_H_ */
|
||||||
|
@ -238,7 +238,7 @@ ossl_hmac_reset(VALUE self)
|
|||||||
EVP_PKEY *pkey;
|
EVP_PKEY *pkey;
|
||||||
|
|
||||||
GetHMAC(self, ctx);
|
GetHMAC(self, ctx);
|
||||||
pkey = EVP_PKEY_CTX_get0_pkey(EVP_MD_CTX_pkey_ctx(ctx));
|
pkey = EVP_PKEY_CTX_get0_pkey(EVP_MD_CTX_get_pkey_ctx(ctx));
|
||||||
if (EVP_DigestSignInit(ctx, NULL, EVP_MD_CTX_get0_md(ctx), NULL, pkey) != 1)
|
if (EVP_DigestSignInit(ctx, NULL, EVP_MD_CTX_get0_md(ctx), NULL, pkey) != 1)
|
||||||
ossl_raise(eHMACError, "EVP_DigestSignInit");
|
ossl_raise(eHMACError, "EVP_DigestSignInit");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user