Add libctx support to PKCS7.
authorShane Lontis <shane.lontis@oracle.com>
Sat, 25 Jul 2020 09:11:03 +0000 (19:11 +1000)
committerShane Lontis <shane.lontis@oracle.com>
Sun, 9 Aug 2020 07:34:52 +0000 (17:34 +1000)
commit90a1f2d76f53effefafbae31e2f425a3508bda45
tree64efd480bd47dc88a3ec858c0e401d712ff39802
parent45b22d6a35678ac3f22a18302a2647bfd9cb244c
Add libctx support to PKCS7.

-Public PKCS7 methods that create a PKCS7 object now have variants that also add a libctx and propq.
 This includes PKCS7_new_with_libctx(), PKCS7_sign_with_libctx() and PKCS7_encrypt_with_libctx()
-Added SMIME_read_PKCS7_ex() so that a created PKCS7 object can be passed to the read.
-d2i_PKCS7_bio() has been modified so that after it loads the PKCS7 object it then resolves any subobjects that require
 the libctx/propq (such as objects containing X509 certificates).

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11884)
16 files changed:
apps/pkcs7.c
apps/smime.c
crypto/pkcs7/pk7_asn1.c
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pk7_lib.c
crypto/pkcs7/pk7_local.h [new file with mode: 0644]
crypto/pkcs7/pk7_mime.c
crypto/pkcs7/pk7_smime.c
crypto/x509/x_all.c
doc/man1/openssl-smime.pod.in
doc/man3/PKCS7_encrypt.pod
doc/man3/PKCS7_sign.pod
doc/man3/SMIME_read_PKCS7.pod
doc/man3/X509_dup.pod
include/crypto/pkcs7.h [new file with mode: 0644]
include/openssl/pkcs7.h