Use supplied ENGINE when initialising CMAC. Restore pctx setting.
This commit is contained in:
parent
bae060c06a
commit
e3e31ff482
@ -138,7 +138,7 @@ static int pkey_cmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EVP_PKEY_CTRL_CIPHER:
|
case EVP_PKEY_CTRL_CIPHER:
|
||||||
if (!CMAC_Init(cmctx, NULL, 0, p2, NULL))
|
if (!CMAC_Init(cmctx, NULL, 0, p2, ctx->engine))
|
||||||
return 0;
|
return 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -113,6 +113,8 @@ static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
|
|||||||
}
|
}
|
||||||
if (EVP_PKEY_CTX_set_signature_md(ctx->pctx, type) <= 0)
|
if (EVP_PKEY_CTX_set_signature_md(ctx->pctx, type) <= 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
if (pctx)
|
||||||
|
*pctx = ctx->pctx;
|
||||||
if (ctx->pctx->pmeth->flags & EVP_PKEY_FLAG_SIGCTX_CUSTOM)
|
if (ctx->pctx->pmeth->flags & EVP_PKEY_FLAG_SIGCTX_CUSTOM)
|
||||||
return 1;
|
return 1;
|
||||||
if (!EVP_DigestInit_ex(ctx, type, e))
|
if (!EVP_DigestInit_ex(ctx, type, e))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user