Lines Matching refs:kari

37         *palg = ri->d.kari->keyEncryptionAlgorithm;
39 *pukm = ri->d.kari->ukm;
43 /* Retrieve recipient encrypted keys from a kari */
52 return ri->d.kari->recipientEncryptedKeys;
68 oik = ri->d.kari->originator;
105 oik = ri->d.kari->originator;
166 CMS_KeyAgreeRecipientInfo *kari = ri->d.kari;
168 EVP_PKEY_CTX_free(kari->pctx);
169 kari->pctx = NULL;
173 pctx = EVP_PKEY_CTX_new_from_pkey(ossl_cms_ctx_get0_libctx(kari->cms_ctx),
175 ossl_cms_ctx_get0_propq(kari->cms_ctx));
186 kari->pctx = pctx;
201 return ri->d.kari->ctx;
212 CMS_KeyAgreeRecipientInfo *kari, int enc)
221 keklen = EVP_CIPHER_CTX_get_key_length(kari->ctx);
225 if (EVP_PKEY_derive(kari->pctx, kek, &keklen) <= 0)
228 if (!EVP_CipherInit_ex(kari->ctx, NULL, NULL, kek, NULL, enc))
231 if (!EVP_CipherUpdate(kari->ctx, NULL, &outlen, in, inlen))
236 if (!EVP_CipherUpdate(kari->ctx, out, &outlen, in, inlen))
246 EVP_CIPHER_CTX_reset(kari->ctx);
247 /* FIXME: WHY IS kari->pctx freed here? /RL */
248 EVP_PKEY_CTX_free(kari->pctx);
249 kari->pctx = NULL;
269 if (!cms_kek_cipher(&cek, &ceklen, enckey, enckeylen, ri->d.kari, 0))
283 static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari,
289 const CMS_CTX *ctx = kari->cms_ctx;
306 kari->pctx = pctx;
316 static int cms_kari_set_originator_private_key(CMS_KeyAgreeRecipientInfo *kari,
321 const CMS_CTX *ctx = kari->cms_ctx;
331 kari->pctx = pctx;
339 /* Initialise a kari based on passed certificate and key */
346 CMS_KeyAgreeRecipientInfo *kari;
349 ri->d.kari = M_ASN1_new_of(CMS_KeyAgreeRecipientInfo);
350 if (ri->d.kari == NULL)
354 kari = ri->d.kari;
355 kari->version = 3;
356 kari->cms_ctx = ctx;
362 if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) {
382 if (!cms_kari_create_ephemeral_key(kari, recipPubKey))
386 CMS_OriginatorIdentifierOrKey *oik = ri->d.kari->originator;
404 if (!cms_kari_set_originator_private_key(kari, originatorPrivKey))
413 static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari,
416 const CMS_CTX *cms_ctx = kari->cms_ctx;
417 EVP_CIPHER_CTX *ctx = kari->ctx;
479 CMS_KeyAgreeRecipientInfo *kari;
489 kari = ri->d.kari;
490 reks = kari->recipientEncryptedKeys;
493 if (!cms_wrap_init(kari, ec->cipher))
499 if (kari->originator->type == -1) {
500 CMS_OriginatorIdentifierOrKey *oik = kari->originator;
514 if (EVP_PKEY_derive_set_peer(kari->pctx, rek->pkey) <= 0)
517 kari, 1))