derive
OSSL_FUNC_keyexch_derive_fn *derive;
if (ctx->pmeth == NULL || ctx->pmeth->derive == NULL) {
|| !(ctx->pmeth->derive != NULL
ret = ctx->op.kex.exchange->derive(ctx->op.kex.algctx, key, pkeylen,
if (ctx->pmeth == NULL || ctx->pmeth->derive == NULL) {
M_check_autoarg(ctx, key, pkeylen, EVP_F_EVP_PKEY_DERIVE) return ctx->pmeth->derive(ctx, key, pkeylen);
if (exchange->derive != NULL)
exchange->derive = OSSL_FUNC_keyexch_derive(fns);
return ctx->meth->derive(ctx->algctx, key, keylen, params);
if (kdf->derive != NULL)
kdf->derive = OSSL_FUNC_kdf_derive(fns);
int (*derive)(EVP_PKEY_CTX *ctx,
pmeth->derive = derive;
*pderive = pmeth->derive;
int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
OSSL_FUNC_kdf_derive_fn *derive;
int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
ret = derive(ctx->ctx_init, ctx->mode, ctx->iv, ctx->iv_len, ctx->label,