From 61e5ec4b1ed8fea372dcb4115c7d3c676a0dc2fe Mon Sep 17 00:00:00 2001
From: "Dr. Stephen Henson" <steve@openssl.org>
Date: Tue, 6 Jun 2006 12:35:05 +0000
Subject: [PATCH] Add AES and GOST S/MIME capabilities if algorithms are
 supported.

---
 crypto/pkcs7/pk7_smime.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c
index 4312d8d4bf..f8e3682aa9 100644
--- a/crypto/pkcs7/pk7_smime.c
+++ b/crypto/pkcs7/pk7_smime.c
@@ -150,6 +150,13 @@ static int add_cipher_smcap(STACK_OF(X509_ALGOR) *sk, int nid, int arg)
 	return 1;
 	}
 
+static int add_digest_smcap(STACK_OF(X509_ALGOR) *sk, int nid, int arg)
+	{
+	if (EVP_get_digestbynid(nid))
+		return PKCS7_simple_smimecap(sk, nid, arg);
+	return 1;
+	}
+
 PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert,
 					EVP_PKEY *pkey, const EVP_MD *md,
 					int flags)
@@ -194,7 +201,12 @@ PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert,
 					ERR_R_MALLOC_FAILURE);
 				goto err;
 				}
-			if (!add_cipher_smcap(smcap, NID_des_ede3_cbc, -1)
+			if (!add_cipher_smcap(smcap, NID_aes_256_cbc, -1)
+			|| !add_digest_smcap(smcap, NID_id_GostR3411_94, -1)
+			|| !add_cipher_smcap(smcap, NID_id_Gost28147_89, -1)
+				|| !add_cipher_smcap(smcap, NID_aes_192_cbc, -1)
+				|| !add_cipher_smcap(smcap, NID_aes_128_cbc, -1)
+			|| !add_cipher_smcap(smcap, NID_des_ede3_cbc, -1)
 				|| !add_cipher_smcap(smcap, NID_rc2_cbc, 128)
 				|| !add_cipher_smcap(smcap, NID_rc2_cbc, 64)
 				|| !add_cipher_smcap(smcap, NID_des_cbc, -1)
-- 
2.40.0