summaryrefslogtreecommitdiffstats
path: root/crypto/cms/cms_asn1.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-11-26 18:57:39 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-11-26 18:57:39 +0000
commitd2a53c223883be765176d8d461034cc8938eaeb7 (patch)
tree9c857a0e55945599727451a3106f73b6284d8246 /crypto/cms/cms_asn1.c
parent480af99ef4b0f5ec8a10df68f0130cd7b6bcce6a (diff)
Experimental CMS password based recipient Info support.
Diffstat (limited to 'crypto/cms/cms_asn1.c')
-rw-r--r--crypto/cms/cms_asn1.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/cms/cms_asn1.c b/crypto/cms/cms_asn1.c
index 7f7132c3bb..835cae4e0b 100644
--- a/crypto/cms/cms_asn1.c
+++ b/crypto/cms/cms_asn1.c
@@ -237,6 +237,15 @@ static int cms_ri_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
OPENSSL_free(kekri->key);
}
}
+ else if (ri->type == CMS_RECIPINFO_PASS)
+ {
+ CMS_PasswordRecipientInfo *pwri = ri->d.pwri;
+ if (pwri->pass)
+ {
+ OPENSSL_cleanse(pwri->pass, pwri->passlen);
+ OPENSSL_free(pwri->pass);
+ }
+ }
}
return 1;
}