Lines Matching refs:kari

37         *palg = ri->d.kari->keyEncryptionAlgorithm;  in CMS_RecipientInfo_kari_get0_alg()
39 *pukm = ri->d.kari->ukm; in CMS_RecipientInfo_kari_get0_alg()
52 return ri->d.kari->recipientEncryptedKeys; in STACK_OF()
68 oik = ri->d.kari->originator; in CMS_RecipientInfo_kari_get0_orig_id()
105 oik = ri->d.kari->originator; in CMS_RecipientInfo_kari_orig_id_cmp()
166 CMS_KeyAgreeRecipientInfo *kari = ri->d.kari; in CMS_RecipientInfo_kari_set0_pkey_and_peer() local
168 EVP_PKEY_CTX_free(kari->pctx); in CMS_RecipientInfo_kari_set0_pkey_and_peer()
169 kari->pctx = NULL; in CMS_RecipientInfo_kari_set0_pkey_and_peer()
173 pctx = EVP_PKEY_CTX_new_from_pkey(ossl_cms_ctx_get0_libctx(kari->cms_ctx), in CMS_RecipientInfo_kari_set0_pkey_and_peer()
175 ossl_cms_ctx_get0_propq(kari->cms_ctx)); in CMS_RecipientInfo_kari_set0_pkey_and_peer()
186 kari->pctx = pctx; in CMS_RecipientInfo_kari_set0_pkey_and_peer()
201 return ri->d.kari->ctx; in CMS_RecipientInfo_kari_get0_ctx()
212 CMS_KeyAgreeRecipientInfo *kari, int enc) in cms_kek_cipher() argument
221 keklen = EVP_CIPHER_CTX_get_key_length(kari->ctx); in cms_kek_cipher()
225 if (EVP_PKEY_derive(kari->pctx, kek, &keklen) <= 0) in cms_kek_cipher()
228 if (!EVP_CipherInit_ex(kari->ctx, NULL, NULL, kek, NULL, enc)) in cms_kek_cipher()
231 if (!EVP_CipherUpdate(kari->ctx, NULL, &outlen, in, inlen)) in cms_kek_cipher()
236 if (!EVP_CipherUpdate(kari->ctx, out, &outlen, in, inlen)) in cms_kek_cipher()
246 EVP_CIPHER_CTX_reset(kari->ctx); in cms_kek_cipher()
248 EVP_PKEY_CTX_free(kari->pctx); in cms_kek_cipher()
249 kari->pctx = NULL; in cms_kek_cipher()
269 if (!cms_kek_cipher(&cek, &ceklen, enckey, enckeylen, ri->d.kari, 0)) in CMS_RecipientInfo_kari_decrypt()
283 static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari, in cms_kari_create_ephemeral_key() argument
289 const CMS_CTX *ctx = kari->cms_ctx; in cms_kari_create_ephemeral_key()
306 kari->pctx = pctx; in cms_kari_create_ephemeral_key()
316 static int cms_kari_set_originator_private_key(CMS_KeyAgreeRecipientInfo *kari, in cms_kari_set_originator_private_key() argument
321 const CMS_CTX *ctx = kari->cms_ctx; in cms_kari_set_originator_private_key()
331 kari->pctx = pctx; in cms_kari_set_originator_private_key()
346 CMS_KeyAgreeRecipientInfo *kari; in ossl_cms_RecipientInfo_kari_init() local
349 ri->d.kari = M_ASN1_new_of(CMS_KeyAgreeRecipientInfo); in ossl_cms_RecipientInfo_kari_init()
350 if (ri->d.kari == NULL) in ossl_cms_RecipientInfo_kari_init()
354 kari = ri->d.kari; in ossl_cms_RecipientInfo_kari_init()
355 kari->version = 3; in ossl_cms_RecipientInfo_kari_init()
356 kari->cms_ctx = ctx; in ossl_cms_RecipientInfo_kari_init()
362 if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) { in ossl_cms_RecipientInfo_kari_init()
382 if (!cms_kari_create_ephemeral_key(kari, recipPubKey)) in ossl_cms_RecipientInfo_kari_init()
386 CMS_OriginatorIdentifierOrKey *oik = ri->d.kari->originator; in ossl_cms_RecipientInfo_kari_init()
404 if (!cms_kari_set_originator_private_key(kari, originatorPrivKey)) in ossl_cms_RecipientInfo_kari_init()
413 static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari, in cms_wrap_init() argument
416 const CMS_CTX *cms_ctx = kari->cms_ctx; in cms_wrap_init()
417 EVP_CIPHER_CTX *ctx = kari->ctx; in cms_wrap_init()
479 CMS_KeyAgreeRecipientInfo *kari; in ossl_cms_RecipientInfo_kari_encrypt() local
489 kari = ri->d.kari; in ossl_cms_RecipientInfo_kari_encrypt()
490 reks = kari->recipientEncryptedKeys; in ossl_cms_RecipientInfo_kari_encrypt()
493 if (!cms_wrap_init(kari, ec->cipher)) in ossl_cms_RecipientInfo_kari_encrypt()
499 if (kari->originator->type == -1) { in ossl_cms_RecipientInfo_kari_encrypt()
500 CMS_OriginatorIdentifierOrKey *oik = kari->originator; in ossl_cms_RecipientInfo_kari_encrypt()
514 if (EVP_PKEY_derive_set_peer(kari->pctx, rek->pkey) <= 0) in ossl_cms_RecipientInfo_kari_encrypt()
517 kari, 1)) in ossl_cms_RecipientInfo_kari_encrypt()