mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-04-28 18:54:36 +00:00
Make sure we use the libctx when fetching a MAC
We were doing an EVP_MAC_fetch without using the correct libctx. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11354)
This commit is contained in:
parent
a2b6231601
commit
cb57f42528
@ -2500,6 +2500,7 @@ EVP_R_EXPECTING_A_DSA_KEY:129:expecting a dsa key
|
|||||||
EVP_R_EXPECTING_A_EC_KEY:142:expecting a ec key
|
EVP_R_EXPECTING_A_EC_KEY:142:expecting a ec key
|
||||||
EVP_R_EXPECTING_A_POLY1305_KEY:164:expecting a poly1305 key
|
EVP_R_EXPECTING_A_POLY1305_KEY:164:expecting a poly1305 key
|
||||||
EVP_R_EXPECTING_A_SIPHASH_KEY:175:expecting a siphash key
|
EVP_R_EXPECTING_A_SIPHASH_KEY:175:expecting a siphash key
|
||||||
|
EVP_R_FETCH_FAILED:202:fetch failed
|
||||||
EVP_R_FINAL_ERROR:188:final error
|
EVP_R_FINAL_ERROR:188:final error
|
||||||
EVP_R_FIPS_MODE_NOT_SUPPORTED:167:fips mode not supported
|
EVP_R_FIPS_MODE_NOT_SUPPORTED:167:fips mode not supported
|
||||||
EVP_R_GET_RAW_KEY_FAILED:182:get raw key failed
|
EVP_R_GET_RAW_KEY_FAILED:182:get raw key failed
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@ -64,6 +64,7 @@ static const ERR_STRING_DATA EVP_str_reasons[] = {
|
|||||||
"expecting a poly1305 key"},
|
"expecting a poly1305 key"},
|
||||||
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_EXPECTING_A_SIPHASH_KEY),
|
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_EXPECTING_A_SIPHASH_KEY),
|
||||||
"expecting a siphash key"},
|
"expecting a siphash key"},
|
||||||
|
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_FETCH_FAILED), "fetch failed"},
|
||||||
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_FINAL_ERROR), "final error"},
|
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_FINAL_ERROR), "final error"},
|
||||||
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_FIPS_MODE_NOT_SUPPORTED),
|
{ERR_PACK(ERR_LIB_EVP, 0, EVP_R_FIPS_MODE_NOT_SUPPORTED),
|
||||||
"fips mode not supported"},
|
"fips mode not supported"},
|
||||||
|
@ -51,8 +51,12 @@ static int pkey_mac_init(EVP_PKEY_CTX *ctx)
|
|||||||
MAC_PKEY_CTX *hctx;
|
MAC_PKEY_CTX *hctx;
|
||||||
/* We're being smart and using the same base NIDs for PKEY and for MAC */
|
/* We're being smart and using the same base NIDs for PKEY and for MAC */
|
||||||
int nid = ctx->pmeth->pkey_id;
|
int nid = ctx->pmeth->pkey_id;
|
||||||
EVP_MAC *mac = EVP_MAC_fetch(NULL, OBJ_nid2sn(nid), NULL);
|
EVP_MAC *mac = EVP_MAC_fetch(ctx->libctx, OBJ_nid2sn(nid), ctx->propquery);
|
||||||
|
|
||||||
|
if (mac == NULL) {
|
||||||
|
EVPerr(EVP_F_PKEY_MAC_INIT, EVP_R_FETCH_FAILED);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if ((hctx = OPENSSL_zalloc(sizeof(*hctx))) == NULL) {
|
if ((hctx = OPENSSL_zalloc(sizeof(*hctx))) == NULL) {
|
||||||
EVPerr(EVP_F_PKEY_MAC_INIT, ERR_R_MALLOC_FAILURE);
|
EVPerr(EVP_F_PKEY_MAC_INIT, ERR_R_MALLOC_FAILURE);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
@ -194,6 +194,7 @@ int ERR_load_EVP_strings(void);
|
|||||||
# define EVP_R_EXPECTING_A_EC_KEY 142
|
# define EVP_R_EXPECTING_A_EC_KEY 142
|
||||||
# define EVP_R_EXPECTING_A_POLY1305_KEY 164
|
# define EVP_R_EXPECTING_A_POLY1305_KEY 164
|
||||||
# define EVP_R_EXPECTING_A_SIPHASH_KEY 175
|
# define EVP_R_EXPECTING_A_SIPHASH_KEY 175
|
||||||
|
# define EVP_R_FETCH_FAILED 202
|
||||||
# define EVP_R_FINAL_ERROR 188
|
# define EVP_R_FINAL_ERROR 188
|
||||||
# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167
|
# define EVP_R_FIPS_MODE_NOT_SUPPORTED 167
|
||||||
# define EVP_R_GET_RAW_KEY_FAILED 182
|
# define EVP_R_GET_RAW_KEY_FAILED 182
|
||||||
|
Loading…
x
Reference in New Issue
Block a user