Lines Matching refs:dctx
98 EC_PKEY_CTX *dctx; in pkey_ec_init() local
100 if ((dctx = calloc(1, sizeof(EC_PKEY_CTX))) == NULL) { in pkey_ec_init()
105 dctx->cofactor_mode = -1; in pkey_ec_init()
106 dctx->kdf_type = EVP_PKEY_ECDH_KDF_NONE; in pkey_ec_init()
108 ctx->data = dctx; in pkey_ec_init()
116 EC_PKEY_CTX *dctx, *sctx; in pkey_ec_copy() local
120 dctx = dst->data; in pkey_ec_copy()
122 dctx->gen_group = EC_GROUP_dup(sctx->gen_group); in pkey_ec_copy()
123 if (!dctx->gen_group) in pkey_ec_copy()
126 dctx->md = sctx->md; in pkey_ec_copy()
129 dctx->co_key = EC_KEY_dup(sctx->co_key); in pkey_ec_copy()
130 if (!dctx->co_key) in pkey_ec_copy()
133 dctx->kdf_type = sctx->kdf_type; in pkey_ec_copy()
134 dctx->kdf_md = sctx->kdf_md; in pkey_ec_copy()
135 dctx->kdf_outlen = sctx->kdf_outlen; in pkey_ec_copy()
137 if ((dctx->kdf_ukm = calloc(1, sctx->kdf_ukmlen)) == NULL) in pkey_ec_copy()
139 memcpy(dctx->kdf_ukm, sctx->kdf_ukm, sctx->kdf_ukmlen); in pkey_ec_copy()
141 dctx->kdf_ukm = NULL; in pkey_ec_copy()
143 dctx->kdf_ukmlen = sctx->kdf_ukmlen; in pkey_ec_copy()
151 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_cleanup() local
153 if (dctx != NULL) { in pkey_ec_cleanup()
154 EC_GROUP_free(dctx->gen_group); in pkey_ec_cleanup()
155 EC_KEY_free(dctx->co_key); in pkey_ec_cleanup()
156 free(dctx->kdf_ukm); in pkey_ec_cleanup()
157 free(dctx); in pkey_ec_cleanup()
168 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_sign() local
178 if (dctx->md) in pkey_ec_sign()
179 type = EVP_MD_type(dctx->md); in pkey_ec_sign()
196 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_verify() local
199 if (dctx->md) in pkey_ec_verify()
200 type = EVP_MD_type(dctx->md); in pkey_ec_verify()
216 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_derive() local
223 eckey = dctx->co_key ? dctx->co_key : ctx->pkey->pkey.ec; in pkey_ec_derive()
251 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_kdf_derive() local
256 if (dctx->kdf_type == EVP_PKEY_ECDH_KDF_NONE) in pkey_ec_kdf_derive()
260 *keylen = dctx->kdf_outlen; in pkey_ec_kdf_derive()
263 if (*keylen != dctx->kdf_outlen) in pkey_ec_kdf_derive()
274 if (!ecdh_KDF_X9_63(key, *keylen, ktmp, ktmplen, dctx->kdf_ukm, in pkey_ec_kdf_derive()
275 dctx->kdf_ukmlen, dctx->kdf_md)) in pkey_ec_kdf_derive()
288 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_ctrl() local
298 EC_GROUP_free(dctx->gen_group); in pkey_ec_ctrl()
299 dctx->gen_group = group; in pkey_ec_ctrl()
303 if (!dctx->gen_group) { in pkey_ec_ctrl()
307 EC_GROUP_set_asn1_flag(dctx->gen_group, p1); in pkey_ec_ctrl()
312 if (dctx->cofactor_mode != -1) in pkey_ec_ctrl()
313 return dctx->cofactor_mode; in pkey_ec_ctrl()
320 dctx->cofactor_mode = p1; in pkey_ec_ctrl()
328 if (!dctx->co_key) { in pkey_ec_ctrl()
329 dctx->co_key = EC_KEY_dup(ec_key); in pkey_ec_ctrl()
330 if (!dctx->co_key) in pkey_ec_ctrl()
334 EC_KEY_set_flags(dctx->co_key, EC_FLAG_COFACTOR_ECDH); in pkey_ec_ctrl()
336 EC_KEY_clear_flags(dctx->co_key, EC_FLAG_COFACTOR_ECDH); in pkey_ec_ctrl()
338 EC_KEY_free(dctx->co_key); in pkey_ec_ctrl()
339 dctx->co_key = NULL; in pkey_ec_ctrl()
345 return dctx->kdf_type; in pkey_ec_ctrl()
348 dctx->kdf_type = p1; in pkey_ec_ctrl()
352 dctx->kdf_md = p2; in pkey_ec_ctrl()
356 *(const EVP_MD **)p2 = dctx->kdf_md; in pkey_ec_ctrl()
362 dctx->kdf_outlen = (size_t)p1; in pkey_ec_ctrl()
366 *(int *)p2 = dctx->kdf_outlen; in pkey_ec_ctrl()
370 free(dctx->kdf_ukm); in pkey_ec_ctrl()
371 dctx->kdf_ukm = p2; in pkey_ec_ctrl()
373 dctx->kdf_ukmlen = p1; in pkey_ec_ctrl()
375 dctx->kdf_ukmlen = 0; in pkey_ec_ctrl()
379 *(unsigned char **)p2 = dctx->kdf_ukm; in pkey_ec_ctrl()
380 return dctx->kdf_ukmlen; in pkey_ec_ctrl()
400 dctx->md = p2; in pkey_ec_ctrl()
404 *(const EVP_MD **)p2 = dctx->md; in pkey_ec_ctrl()
468 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_paramgen() local
471 if (dctx->gen_group == NULL) { in pkey_ec_paramgen()
478 if (!EC_KEY_set_group(ec, dctx->gen_group)) in pkey_ec_paramgen()
496 EC_PKEY_CTX *dctx = ctx->data; in pkey_ec_keygen() local
499 if (ctx->pkey == NULL && dctx->gen_group == NULL) { in pkey_ec_keygen()
513 if (!EC_KEY_set_group(ec, dctx->gen_group)) in pkey_ec_keygen()