summaryrefslogtreecommitdiffstats
path: root/crypto/cms
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-04-10 02:33:44 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-04-10 18:52:49 +0100
commit07395b7a6dfdbe263677e58519f1d11d51d31da5 (patch)
tree287e765af3e59c4a47f906f4eef50ada762a6562 /crypto/cms
parent784f155e0d39cff1fd6e76e75c07f56ae25ebced (diff)
Fix ECDH key identifier support.
PR#3789 Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 7a317fa07cf3d9952c574e7d214d371798fee42a)
Diffstat (limited to 'crypto/cms')
-rw-r--r--crypto/cms/cms_kari.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c
index f8a6cbadb0..2cfcdb29cd 100644
--- a/crypto/cms/cms_kari.c
+++ b/crypto/cms/cms_kari.c
@@ -66,6 +66,7 @@
DECLARE_ASN1_ITEM(CMS_KeyAgreeRecipientInfo)
DECLARE_ASN1_ITEM(CMS_RecipientEncryptedKey)
DECLARE_ASN1_ITEM(CMS_OriginatorPublicKey)
+DECLARE_ASN1_ITEM(CMS_RecipientKeyIdentifier)
/* Key Agreement Recipient Info (KARI) routines */
@@ -362,6 +363,9 @@ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip,
if (flags & CMS_USE_KEYID) {
rek->rid->type = CMS_REK_KEYIDENTIFIER;
+ rek->rid->d.rKeyId = M_ASN1_new_of(CMS_RecipientKeyIdentifier);
+ if (rek->rid->d.rKeyId == NULL)
+ return 0;
if (!cms_set1_keyid(&rek->rid->d.rKeyId->subjectKeyIdentifier, recip))
return 0;
} else {