recip
fe recip;
fe_invert(&recip, &h->Z);
fe_mul_ttt(&x, &h->X, &recip);
fe_mul_ttt(&y, &h->Y, &recip);
recip(work + 32,work + 32);
if (!CMS_decrypt_set1_pkey_and_peer(cms, key, recip, originator)) {
X509_free(recip);
X509 *cert = NULL, *recip = NULL, *signer = NULL, *originator = NULL;
if ((recip = load_cert(recipfile, FORMAT_UNDEF,
X509 *cert = NULL, *recip = NULL, *signer = NULL;
if ((recip = load_cert(recipfile, FORMAT_UNDEF,
if (!PKCS7_decrypt(p7, key, recip, out, flags)) {
X509_free(recip);
X509 *recip = ctx->validatedSrvCert; /* this is the client cert */
|| !X509_add_cert(encryption_recips, recip, X509_ADD_FLAG_UP_REF))
X509_free(ktri->recip);
ossl_x509_set0_libctx(ri->d.ktri->recip,
static int cms_RecipientInfo_ktri_init(CMS_RecipientInfo *ri, X509 *recip,
if (!ossl_cms_set1_SignerIdentifier(ktri->rid, recip, idtype, ctx))
if (!X509_up_ref(recip))
X509_free(recip);
ktri->recip = recip;
CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip,
pk = X509_get0_pubkey(recip);
if (!cms_RecipientInfo_ktri_init(ri, recip, pk, flags, ctx))
if (!ossl_cms_RecipientInfo_kari_init(ri, recip, pk, originator,
CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509 *recip,
return CMS_add1_recipient(cms, recip, NULL, NULL, flags);
EVP_PKEY **pk, X509 **recip,
if (recip)
*recip = ktri->recip;
int ossl_cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
if (!ossl_cms_set1_keyid(&rek->rid->d.rKeyId->subjectKeyIdentifier, recip))
if (!ossl_cms_set1_ias(&rek->rid->d.issuerAndSerialNumber, recip))
X509 *recip;
int ossl_cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
X509 *recip;
recip = sk_X509_value(certs, i);
if (!CMS_add1_recipient_cert(cms, recip, flags)) {
fe recip;
fe_invert(recip, h->Z);
fe_mul(x, h->X, recip);
fe_mul(y, h->Y, recip);
fe recip;
fe_invert(recip, h->Z);
fe_mul(x, h->X, recip);
fe_mul(y, h->Y, recip);
X509 *recip, unsigned int flags);
CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip,
EVP_PKEY **pk, X509 **recip,
EVP_PKEY *recip = NULL;
if (!TEST_ptr(recip = EVP_PKEY_Q_keygen(libctx, NULL, curve))
if (!TEST_ptr(recip = EVP_PKEY_Q_keygen(libctx, NULL, "EC", curve))
ret = TEST_ptr(ctx = EVP_PKEY_CTX_new_from_pkey(libctx, recip, NULL))
EVP_PKEY_free(recip);