summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/cms/cms_kari.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/cms/cms_kari.c')
-rw-r--r--src/lib/libcrypto/cms/cms_kari.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libcrypto/cms/cms_kari.c b/src/lib/libcrypto/cms/cms_kari.c
index 04bca9dce5..347304ab8c 100644
--- a/src/lib/libcrypto/cms/cms_kari.c
+++ b/src/lib/libcrypto/cms/cms_kari.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cms_kari.c,v 1.10 2019/08/11 10:43:57 jsing Exp $ */ 1/* $OpenBSD: cms_kari.c,v 1.11 2019/08/11 11:04:18 jsing Exp $ */
2/* 2/*
3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
4 * project. 4 * project.
@@ -349,7 +349,7 @@ cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk,
349 CMS_KeyAgreeRecipientInfo *kari; 349 CMS_KeyAgreeRecipientInfo *kari;
350 CMS_RecipientEncryptedKey *rek = NULL; 350 CMS_RecipientEncryptedKey *rek = NULL;
351 351
352 ri->d.kari = M_ASN1_new_of(CMS_KeyAgreeRecipientInfo); 352 ri->d.kari = (CMS_KeyAgreeRecipientInfo *)ASN1_item_new(&CMS_KeyAgreeRecipientInfo_it);
353 if (!ri->d.kari) 353 if (!ri->d.kari)
354 return 0; 354 return 0;
355 ri->type = CMS_RECIPINFO_AGREE; 355 ri->type = CMS_RECIPINFO_AGREE;
@@ -357,18 +357,18 @@ cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk,
357 kari = ri->d.kari; 357 kari = ri->d.kari;
358 kari->version = 3; 358 kari->version = 3;
359 359
360 rek = M_ASN1_new_of(CMS_RecipientEncryptedKey); 360 rek = (CMS_RecipientEncryptedKey *)ASN1_item_new(&CMS_RecipientEncryptedKey_it);
361 if (rek == NULL) 361 if (rek == NULL)
362 return 0; 362 return 0;
363 363
364 if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) { 364 if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) {
365 M_ASN1_free_of(rek, CMS_RecipientEncryptedKey); 365 ASN1_item_free((ASN1_VALUE *)rek, &CMS_RecipientEncryptedKey_it);
366 return 0; 366 return 0;
367 } 367 }
368 368
369 if (flags & CMS_USE_KEYID) { 369 if (flags & CMS_USE_KEYID) {
370 rek->rid->type = CMS_REK_KEYIDENTIFIER; 370 rek->rid->type = CMS_REK_KEYIDENTIFIER;
371 rek->rid->d.rKeyId = M_ASN1_new_of(CMS_RecipientKeyIdentifier); 371 rek->rid->d.rKeyId = (CMS_RecipientKeyIdentifier *)ASN1_item_new(&CMS_RecipientKeyIdentifier_it);
372 if (rek->rid->d.rKeyId == NULL) 372 if (rek->rid->d.rKeyId == NULL)
373 return 0; 373 return 0;
374 if (!cms_set1_keyid(&rek->rid->d.rKeyId->subjectKeyIdentifier, recip)) 374 if (!cms_set1_keyid(&rek->rid->d.rKeyId->subjectKeyIdentifier, recip))
@@ -451,7 +451,7 @@ cms_RecipientInfo_kari_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri)
451 if (kari->originator->type == -1) { 451 if (kari->originator->type == -1) {
452 CMS_OriginatorIdentifierOrKey *oik = kari->originator; 452 CMS_OriginatorIdentifierOrKey *oik = kari->originator;
453 oik->type = CMS_OIK_PUBKEY; 453 oik->type = CMS_OIK_PUBKEY;
454 oik->d.originatorKey = M_ASN1_new_of(CMS_OriginatorPublicKey); 454 oik->d.originatorKey = (CMS_OriginatorPublicKey *)ASN1_item_new(&CMS_OriginatorPublicKey_it);
455 if (!oik->d.originatorKey) 455 if (!oik->d.originatorKey)
456 return 0; 456 return 0;
457 } 457 }