summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2019-06-03 15:19:48 +1000
committerShane Lontis <shane.lontis@oracle.com>2019-06-03 15:25:10 +1000
commitd63d841fb510a920275c66d3e486089c5c718797 (patch)
treed031da4cb1262fd7a4f1dfc6709524abceb97be8 /include
parent9517295b7f3c3ea7bed254b426ee45dcb60e655a (diff)
Add the content type attribute to additional CMS signerinfo.
Fixes #8923 Found using the openssl cms -resign option. This uses an alternate path to do the signing which was not adding the required signed attribute content type. The content type attribute should always exist since it is required is there are any signed attributes. As the signing time attribute is always added in code, the content type attribute is also required. The CMS_si_check_attributes() method adds validity checks for signed and unsigned attributes e.g. The message digest attribute is a signed attribute that must exist if any signed attributes exist, it cannot be an unsigned attribute and there must only be one instance containing a single value. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8944) (cherry picked from commit 19e512a8244a6f527d0194339a8f9fc45468537a)
Diffstat (limited to 'include')
-rw-r--r--include/openssl/cmserr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/openssl/cmserr.h b/include/openssl/cmserr.h
index 3f8ae26da8..f011965af9 100644
--- a/include/openssl/cmserr.h
+++ b/include/openssl/cmserr.h
@@ -101,6 +101,7 @@ int ERR_load_CMS_strings(void);
# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153
# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154
# define CMS_F_CMS_SIGN_RECEIPT 163
+# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183
# define CMS_F_CMS_STREAM 155
# define CMS_F_CMS_UNCOMPRESS 156
# define CMS_F_CMS_VERIFY 157
@@ -110,6 +111,7 @@ int ERR_load_CMS_strings(void);
* CMS reason codes.
*/
# define CMS_R_ADD_SIGNER_ERROR 99
+# define CMS_R_ATTRIBUTE_ERROR 161
# define CMS_R_CERTIFICATE_ALREADY_PRESENT 175
# define CMS_R_CERTIFICATE_HAS_NO_KEYID 160
# define CMS_R_CERTIFICATE_VERIFY_ERROR 100