aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/pkcs7
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2000-09-05 13:27:57 +0000
committerDr. Stephen Henson <steve@openssl.org>2000-09-05 13:27:57 +0000
commit34216c04229ffaa564adb204cea87bc6b5ed4fb1 (patch)
tree0fa6e17df83bdd9d7014c0558a8bd846f255933f /crypto/pkcs7
parent22c7ea4068a137c221c3f3995e60642c962a2e42 (diff)
downloadopenssl-34216c04229ffaa564adb204cea87bc6b5ed4fb1.tar.gz
Keep a not of original encoding in certificate requests.
Add new option to PKCS7_sign to exclude S/MIME capabilities.
Diffstat (limited to 'crypto/pkcs7')
-rw-r--r--crypto/pkcs7/pk7_smime.c3
-rw-r--r--crypto/pkcs7/pkcs7.h19
2 files changed, 13 insertions, 9 deletions
diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c
index 225fc63da0..19e0b28a39 100644
--- a/crypto/pkcs7/pk7_smime.c
+++ b/crypto/pkcs7/pk7_smime.c
@@ -109,6 +109,8 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
PKCS7_add_signed_attribute(si, NID_pkcs9_contentType,
V_ASN1_OBJECT, OBJ_nid2obj(NID_pkcs7_data));
/* Add SMIMECapabilities */
+ if(!(flags & PKCS7_NOSMIMECAP))
+ {
if(!(smcap = sk_X509_ALGOR_new(NULL))) {
PKCS7err(PKCS7_F_PKCS7_SIGN,ERR_R_MALLOC_FAILURE);
return NULL;
@@ -128,6 +130,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
#endif
PKCS7_add_attrib_smimecap (si, smcap);
sk_X509_ALGOR_pop_free(smcap, X509_ALGOR_free);
+ }
}
if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1);
diff --git a/crypto/pkcs7/pkcs7.h b/crypto/pkcs7/pkcs7.h
index ac46c8dd15..556e84cf21 100644
--- a/crypto/pkcs7/pkcs7.h
+++ b/crypto/pkcs7/pkcs7.h
@@ -247,15 +247,16 @@ DECLARE_PKCS12_STACK_OF(PKCS7)
/* S/MIME related flags */
-#define PKCS7_TEXT 0x1
-#define PKCS7_NOCERTS 0x2
-#define PKCS7_NOSIGS 0x4
-#define PKCS7_NOCHAIN 0x8
-#define PKCS7_NOINTERN 0x10
-#define PKCS7_NOVERIFY 0x20
-#define PKCS7_DETACHED 0x40
-#define PKCS7_BINARY 0x80
-#define PKCS7_NOATTR 0x100
+#define PKCS7_TEXT 0x1
+#define PKCS7_NOCERTS 0x2
+#define PKCS7_NOSIGS 0x4
+#define PKCS7_NOCHAIN 0x8
+#define PKCS7_NOINTERN 0x10
+#define PKCS7_NOVERIFY 0x20
+#define PKCS7_DETACHED 0x40
+#define PKCS7_BINARY 0x80
+#define PKCS7_NOATTR 0x100
+#define PKCS7_NOSMIMECAP 0x200
/* Flags: for compatibility with older code */