Lines Matching refs:dctx

96   EC_PKEY_CTX *dctx;
97 dctx = OPENSSL_malloc(sizeof(EC_PKEY_CTX));
98 if (!dctx) {
101 memset(dctx, 0, sizeof(EC_PKEY_CTX));
102 dctx->cofactor_mode = -1;
103 dctx->kdf_type = EVP_PKEY_ECDH_KDF_NONE;
105 ctx->data = dctx;
111 EC_PKEY_CTX *dctx, *sctx;
116 dctx = dst->data;
119 dctx->gen_group = EC_GROUP_dup(sctx->gen_group);
120 if (!dctx->gen_group) {
124 dctx->md = sctx->md;
127 dctx->co_key = EC_KEY_dup(sctx->co_key);
128 if (!dctx->co_key) {
132 dctx->kdf_type = sctx->kdf_type;
133 dctx->kdf_md = sctx->kdf_md;
134 dctx->kdf_outlen = sctx->kdf_outlen;
136 dctx->kdf_ukm = BUF_memdup(sctx->kdf_ukm, sctx->kdf_ukmlen);
137 if (!dctx->kdf_ukm) {
141 dctx->kdf_ukm = NULL;
143 dctx->kdf_ukmlen = sctx->kdf_ukmlen;
148 EC_PKEY_CTX *dctx = ctx->data;
149 if (!dctx) {
153 if (dctx->gen_group) {
154 EC_GROUP_free(dctx->gen_group);
156 if (dctx->co_key) {
157 EC_KEY_free(dctx->co_key);
159 if (dctx->kdf_ukm) {
160 OPENSSL_free(dctx->kdf_ukm);
162 OPENSSL_free(dctx);
169 EC_PKEY_CTX *dctx = ctx->data;
181 if (dctx->md) {
182 type = EVP_MD_type(dctx->md);
195 EC_PKEY_CTX *dctx = ctx->data;
199 if (dctx->md) {
200 type = EVP_MD_type(dctx->md);
212 EC_PKEY_CTX *dctx = ctx->data;
219 eckey = dctx->co_key ? dctx->co_key : ctx->pkey->pkey.ec;
244 EC_PKEY_CTX *dctx = ctx->data;
249 if (dctx->kdf_type == EVP_PKEY_ECDH_KDF_NONE) {
253 *keylen = dctx->kdf_outlen;
256 if (*keylen != dctx->kdf_outlen ||
268 if (!ECDH_KDF_X9_62(key, *keylen, ktmp, ktmplen, dctx->kdf_ukm,
269 dctx->kdf_ukmlen, dctx->kdf_md)) {
283 EC_PKEY_CTX *dctx = ctx->data;
293 if (dctx->gen_group)
294 EC_GROUP_free(dctx->gen_group);
295 dctx->gen_group = group;
300 return dctx->kdf_type;
303 dctx->kdf_type = p1;
307 dctx->kdf_md = p2;
311 *(const EVP_MD **)p2 = dctx->kdf_md;
317 dctx->kdf_outlen = (size_t)p1;
321 *(int *)p2 = dctx->kdf_outlen;
325 if (dctx->kdf_ukm)
326 OPENSSL_free(dctx->kdf_ukm);
327 dctx->kdf_ukm = p2;
329 dctx->kdf_ukmlen = p1;
331 dctx->kdf_ukmlen = 0;
335 *(unsigned char **)p2 = dctx->kdf_ukm;
336 return dctx->kdf_ukmlen;
348 dctx->md = p2;
352 *(const EVP_MD **)p2 = dctx->md;
367 EC_PKEY_CTX *dctx = ctx->data;
370 if (dctx->gen_group == NULL) {
378 ret = EC_KEY_set_group(ec, dctx->gen_group);
389 EC_PKEY_CTX *dctx = ctx->data;
390 if (ctx->pkey == NULL && dctx->gen_group == NULL) {
405 if (!EC_KEY_set_group(ec, dctx->gen_group)) {