Lines Matching refs:dctx
49 EC_PKEY_CTX *dctx;
51 if ((dctx = OPENSSL_zalloc(sizeof(*dctx))) == NULL) {
56 dctx->cofactor_mode = -1;
57 dctx->kdf_type = EVP_PKEY_ECDH_KDF_NONE;
58 ctx->data = dctx;
64 EC_PKEY_CTX *dctx, *sctx;
68 dctx = dst->data;
70 dctx->gen_group = EC_GROUP_dup(sctx->gen_group);
71 if (!dctx->gen_group)
74 dctx->md = sctx->md;
77 dctx->co_key = EC_KEY_dup(sctx->co_key);
78 if (!dctx->co_key)
81 dctx->kdf_type = sctx->kdf_type;
82 dctx->kdf_md = sctx->kdf_md;
83 dctx->kdf_outlen = sctx->kdf_outlen;
85 dctx->kdf_ukm = OPENSSL_memdup(sctx->kdf_ukm, sctx->kdf_ukmlen);
86 if (!dctx->kdf_ukm)
89 dctx->kdf_ukm = NULL;
90 dctx->kdf_ukmlen = sctx->kdf_ukmlen;
96 EC_PKEY_CTX *dctx = ctx->data;
97 if (dctx != NULL) {
98 EC_GROUP_free(dctx->gen_group);
99 EC_KEY_free(dctx->co_key);
100 OPENSSL_free(dctx->kdf_ukm);
101 OPENSSL_free(dctx);
111 EC_PKEY_CTX *dctx = ctx->data;
134 type = (dctx->md != NULL) ? EVP_MD_get_type(dctx->md) : NID_sha1;
149 EC_PKEY_CTX *dctx = ctx->data;
157 if (dctx->md)
158 type = EVP_MD_get_type(dctx->md);
175 EC_PKEY_CTX *dctx = ctx->data;
187 eckey = dctx->co_key ? dctx->co_key
218 EC_PKEY_CTX *dctx = ctx->data;
222 if (dctx->kdf_type == EVP_PKEY_ECDH_KDF_NONE)
225 *keylen = dctx->kdf_outlen;
228 if (*keylen != dctx->kdf_outlen)
240 dctx->kdf_ukm, dctx->kdf_ukmlen, dctx->kdf_md,
253 EC_PKEY_CTX *dctx = ctx->data;
262 EC_GROUP_free(dctx->gen_group);
263 dctx->gen_group = group;
267 if (!dctx->gen_group) {
271 EC_GROUP_set_asn1_flag(dctx->gen_group, p1);
277 if (dctx->cofactor_mode != -1)
278 return dctx->cofactor_mode;
285 dctx->cofactor_mode = p1;
302 if (!dctx->co_key) {
303 dctx->co_key = EC_KEY_dup(ec_key);
304 if (!dctx->co_key)
308 EC_KEY_set_flags(dctx->co_key, EC_FLAG_COFACTOR_ECDH);
310 EC_KEY_clear_flags(dctx->co_key, EC_FLAG_COFACTOR_ECDH);
312 EC_KEY_free(dctx->co_key);
313 dctx->co_key = NULL;
320 return dctx->kdf_type;
323 dctx->kdf_type = p1;
327 dctx->kdf_md = p2;
331 *(const EVP_MD **)p2 = dctx->kdf_md;
337 dctx->kdf_outlen = (size_t)p1;
341 *(int *)p2 = dctx->kdf_outlen;
345 OPENSSL_free(dctx->kdf_ukm);
346 dctx->kdf_ukm = p2;
348 dctx->kdf_ukmlen = p1;
350 dctx->kdf_ukmlen = 0;
354 *(unsigned char **)p2 = dctx->kdf_ukm;
355 return dctx->kdf_ukmlen;
372 dctx->md = p2;
376 *(const EVP_MD **)p2 = dctx->md;
435 EC_PKEY_CTX *dctx = ctx->data;
438 if (dctx->gen_group == NULL) {
445 if (!(ret = EC_KEY_set_group(ec, dctx->gen_group))
454 EC_PKEY_CTX *dctx = ctx->data;
457 if (ctx->pkey == NULL && dctx->gen_group == NULL) {
472 ret = EC_KEY_set_group(ec, dctx->gen_group);