first round of adding AES key size macros

This commit is contained in:
Jacob Barthelmeh
2018-02-08 14:16:09 -07:00
parent 08696449f6
commit c2f660c0fc
5 changed files with 253 additions and 41 deletions

233
src/ssl.c
View File

@@ -3193,18 +3193,36 @@ static struct cipher{
} cipher_tbl[] = {
#ifndef NO_AES
#ifdef WOLFSSL_AES_128
{AES_128_CBC_TYPE, "AES-128-CBC"},
#endif
#ifdef WOLFSSL_AES_192
{AES_192_CBC_TYPE, "AES-192-CBC"},
#endif
#ifdef WOLFSSL_AES_256
{AES_256_CBC_TYPE, "AES-256-CBC"},
#endif
#if defined(OPENSSL_EXTRA)
#ifdef WOLFSSL_AES_128
{AES_128_CTR_TYPE, "AES-128-CTR"},
#endif
#ifdef WOLFSSL_AES_192
{AES_192_CTR_TYPE, "AES-192-CTR"},
#endif
#ifdef WOLFSSL_AES_256
{AES_256_CTR_TYPE, "AES-256-CTR"},
#endif
#ifdef WOLFSSL_AES_128
{AES_128_ECB_TYPE, "AES-128-ECB"},
#endif
#ifdef WOLFSSL_AES_192
{AES_192_ECB_TYPE, "AES-192-ECB"},
#endif
#ifdef WOLFSSL_AES_256
{AES_256_ECB_TYPE, "AES-256-ECB"},
#endif
#endif
#endif
@@ -3234,6 +3252,7 @@ const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbyname(const char *name)
const char *alias;
} alias_tbl[] =
{
#ifndef NO_DES3
{"DES-CBC", "DES"},
{"DES-CBC", "des"},
{"DES-ECB", "DES-ECB"},
@@ -3243,21 +3262,42 @@ const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbyname(const char *name)
{"DES-EDE3-ECB", "DES-EDE3"},
{"DES-EDE3-ECB", "des-ede3"},
{"DES-EDE3-ECB", "des-ede3-ecb"},
#endif
#ifdef HAVE_IDEA
{"IDEA-CBC", "IDEA"},
{"IDEA-CBC", "idea"},
{"AES-128-CBC", "AES128-ECB"},
{"AES-128-CBC", "aes128-ecb"},
{"AES-192-CBC", "AES192-ECB"},
{"AES-192-CBC", "aes192-ecb"},
{"AES-256-CBC", "AES256-ECB"},
{"AES-256-CBC", "aes256-ecb"},
#endif
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
{"AES-128-CBC", "AES128-CBC"},
{"AES-128-CBC", "aes128-cbc"},
#endif
#ifdef WOLFSSL_AES_192
{"AES-192-CBC", "AES192-CBC"},
{"AES-192-CBC", "aes192-cbc"},
#endif
#ifdef WOLFSSL_AES_256
{"AES-256-CBC", "AES256-CBC"},
{"AES-256-CBC", "aes256-cbc"},
#endif
#endif
#ifdef WOLFSSL_AES_128
{"AES-128-ECB", "AES128-ECB"},
{"AES-128-ECB", "aes128-ecb"},
#endif
#ifdef WOLFSSL_AES_192
{"AES-192-ECB", "AES192-ECB"},
{"AES-192-ECB", "aes192-ecb"},
#endif
#ifdef WOLFSSL_AES_256
{"AES-256-ECB", "AES256-ECB"},
{"AES-256-EBC", "aes256-ecb"},
#endif
#endif
#ifndef NO_RC4
{"ARC4", "RC4"},
#endif
{ NULL, NULL}
};
@@ -3295,25 +3335,45 @@ const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbynid(int id)
#if defined(OPENSSL_EXTRA)
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
case NID_aes_128_cbc:
return wolfSSL_EVP_aes_128_cbc();
#endif
#ifdef WOLFSSL_AES_192
case NID_aes_192_cbc:
return wolfSSL_EVP_aes_192_cbc();
#endif
#ifdef WOLFSSL_AES_256
case NID_aes_256_cbc:
return wolfSSL_EVP_aes_256_cbc();
#endif
#endif
#ifdef WOLFSSL_AES_128
case NID_aes_128_ctr:
return wolfSSL_EVP_aes_128_ctr();
#endif
#ifdef WOLFSSL_AES_192
case NID_aes_192_ctr:
return wolfSSL_EVP_aes_192_ctr();
#endif
#ifdef WOLFSSL_AES_256
case NID_aes_256_ctr:
return wolfSSL_EVP_aes_256_ctr();
#endif
#ifdef WOLFSSL_AES_128
case NID_aes_128_ecb:
return wolfSSL_EVP_aes_128_ecb();
#endif
#ifdef WOLFSSL_AES_192
case NID_aes_192_ecb:
return wolfSSL_EVP_aes_192_ecb();
#endif
#ifdef WOLFSSL_AES_256
case NID_aes_256_ecb:
return wolfSSL_EVP_aes_256_ecb();
#endif
#endif
#ifndef NO_DES3
case NID_des_cbc:
@@ -3344,18 +3404,38 @@ const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbynid(int id)
}
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
static char *EVP_AES_128_CBC;
#endif
#ifdef WOLFSSL_AES_192
static char *EVP_AES_192_CBC;
#endif
#ifdef WOLFSSL_AES_256
static char *EVP_AES_256_CBC;
#endif
#endif /* HAVE_AES_CBC */
#if defined(OPENSSL_EXTRA)
#ifdef WOLFSSL_AES_128
static char *EVP_AES_128_CTR;
#endif
#ifdef WOLFSSL_AES_192
static char *EVP_AES_192_CTR;
#endif
#ifdef WOLFSSL_AES_256
static char *EVP_AES_256_CTR;
#endif
#ifdef WOLFSSL_AES_128
static char *EVP_AES_128_ECB;
#endif
#ifdef WOLFSSL_AES_192
static char *EVP_AES_192_ECB;
#endif
#ifdef WOLFSSL_AES_256
static char *EVP_AES_256_ECB;
#endif
#endif
static const int EVP_AES_SIZE = 11;
#endif
@@ -3379,20 +3459,40 @@ static const int EVP_IDEA_SIZE = 8;
void wolfSSL_EVP_init(void)
{
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
EVP_AES_128_CBC = (char *)EVP_get_cipherbyname("AES-128-CBC");
#endif
#ifdef WOLFSSL_AES_192
EVP_AES_192_CBC = (char *)EVP_get_cipherbyname("AES-192-CBC");
#endif
#ifdef WOLFSSL_AES_256
EVP_AES_256_CBC = (char *)EVP_get_cipherbyname("AES-256-CBC");
#endif
#endif /* HAVE_AES_CBC */
#if defined(OPENSSL_EXTRA)
#ifdef WOLFSSL_AES_128
EVP_AES_128_CTR = (char *)EVP_get_cipherbyname("AES-128-CTR");
#endif
#ifdef WOLFSSL_AES_192
EVP_AES_192_CTR = (char *)EVP_get_cipherbyname("AES-192-CTR");
#endif
#ifdef WOLFSSL_AES_256
EVP_AES_256_CTR = (char *)EVP_get_cipherbyname("AES-256-CTR");
#endif
#ifdef WOLFSSL_AES_128
EVP_AES_128_ECB = (char *)EVP_get_cipherbyname("AES-128-ECB");
#endif
#ifdef WOLFSSL_AES_192
EVP_AES_192_ECB = (char *)EVP_get_cipherbyname("AES-192-ECB");
#endif
#ifdef WOLFSSL_AES_256
EVP_AES_256_ECB = (char *)EVP_get_cipherbyname("AES-256-ECB");
#endif
#endif
#endif
#ifndef NO_DES3
EVP_DES_CBC = (char *)EVP_get_cipherbyname("DES-CBC");
@@ -4491,7 +4591,6 @@ static int wolfssl_encrypt_buffer_key(byte* der, word32 derSz, byte* password,
#endif /* NO_MD5 */
if (ret > 0) {
ret = WOLFSSL_BAD_FILE; /* Reset error return */
#ifndef NO_DES3
if (XSTRNCMP(info->name, EVP_DES_CBC, EVP_DES_SIZE) == 0)
ret = wc_Des_CbcEncryptWithKey(der, der, derSz, key, info->iv);
@@ -4499,16 +4598,28 @@ static int wolfssl_encrypt_buffer_key(byte* der, word32 derSz, byte* password,
ret = wc_Des3_CbcEncryptWithKey(der, der, derSz, key, info->iv);
#endif /* NO_DES3 */
#ifndef NO_AES
#ifdef WOLFSSL_AES_128
if (XSTRNCMP(info->name, EVP_AES_128_CBC, EVP_AES_SIZE) == 0)
ret = wc_AesCbcEncryptWithKey(der, der, derSz,
key, AES_128_KEY_SIZE, info->iv);
else if (XSTRNCMP(info->name, EVP_AES_192_CBC, EVP_AES_SIZE) == 0)
else
#endif
#ifdef WOLFSSL_AES_192
if (XSTRNCMP(info->name, EVP_AES_192_CBC, EVP_AES_SIZE) == 0)
ret = wc_AesCbcEncryptWithKey(der, der, derSz,
key, AES_192_KEY_SIZE, info->iv);
else if (XSTRNCMP(info->name, EVP_AES_256_CBC, EVP_AES_SIZE) == 0)
else
#endif
#ifdef WOLFSSL_AES_192
if (XSTRNCMP(info->name, EVP_AES_256_CBC, EVP_AES_SIZE) == 0)
ret = wc_AesCbcEncryptWithKey(der, der, derSz,
key, AES_256_KEY_SIZE, info->iv);
else
#endif
#endif /* NO_AES */
{
ret = WOLFSSL_BAD_FILE; /* Reset error return */
}
}
#ifdef WOLFSSL_SMALL_STACK
@@ -7617,16 +7728,25 @@ static int wolfSSL_EVP_Digest(unsigned char* in, int inSz, unsigned char* out,
if (XSTRNCMP("SHA", evp, 3) == 0) {
if (XSTRLEN(evp) > 3) {
#ifndef NO_SHA256
if (XSTRNCMP("SHA256", evp, 6) == 0) {
hash = WC_HASH_TYPE_SHA256;
}
else if (XSTRNCMP("SHA384", evp, 6) == 0) {
else
#endif
#ifdef WOLFSSL_SHA384
if (XSTRNCMP("SHA384", evp, 6) == 0) {
hash = WC_HASH_TYPE_SHA384;
}
else if (XSTRNCMP("SHA512", evp, 6) == 0) {
else
#endif
#ifdef WOLFSSL_SHA512
if (XSTRNCMP("SHA512", evp, 6) == 0) {
hash = WC_HASH_TYPE_SHA512;
}
else {
else
#endif
{
WOLFSSL_MSG("Unknown SHA hash");
}
}
@@ -7634,15 +7754,21 @@ static int wolfSSL_EVP_Digest(unsigned char* in, int inSz, unsigned char* out,
hash = WC_HASH_TYPE_SHA;
}
}
#ifdef WOLFSSL_MD2
else if (XSTRNCMP("MD2", evp, 3) == 0) {
hash = WC_HASH_TYPE_MD2;
}
#endif
#ifndef NO_MD4
else if (XSTRNCMP("MD4", evp, 3) == 0) {
hash = WC_HASH_TYPE_MD4;
}
#endif
#ifndef NO_MD5
else if (XSTRNCMP("MD5", evp, 3) == 0) {
hash = WC_HASH_TYPE_MD5;
}
#endif
hashSz = wc_HashGetDigestSize(hash);
if (hashSz < 0) {
@@ -12426,19 +12552,29 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
else
#endif /* NO_DES3 */
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
if (XSTRNCMP(type, EVP_AES_128_CBC, EVP_AES_SIZE) == 0) {
keyLen = AES_128_KEY_SIZE;
ivLen = AES_IV_SIZE;
}
else if (XSTRNCMP(type, EVP_AES_192_CBC, EVP_AES_SIZE) == 0) {
else
#endif
#ifdef WOLFSSL_AES_192
if (XSTRNCMP(type, EVP_AES_192_CBC, EVP_AES_SIZE) == 0) {
keyLen = AES_192_KEY_SIZE;
ivLen = AES_IV_SIZE;
}
else if (XSTRNCMP(type, EVP_AES_256_CBC, EVP_AES_SIZE) == 0) {
else
#endif
#ifdef WOLFSSL_AES_192
if (XSTRNCMP(type, EVP_AES_256_CBC, EVP_AES_SIZE) == 0) {
keyLen = AES_256_KEY_SIZE;
ivLen = AES_IV_SIZE;
}
else
#endif
#endif /* HAVE_AES_CBC */
#endif /* NO_AES */
{
#ifdef WOLFSSL_SMALL_STACK
@@ -13134,6 +13270,8 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cbc(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_128_cbc");
@@ -13141,8 +13279,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_128_CBC;
}
#endif /* WOLFSSL_AES_128 */
#ifdef WOLFSSL_AES_192
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cbc(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_192_cbc");
@@ -13150,8 +13290,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_192_CBC;
}
#endif /* WOLFSSL_AES_192 */
#ifdef WOLFSSL_AES_256
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cbc(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_256_cbc");
@@ -13159,8 +13301,11 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_256_CBC;
}
#endif /* WOLFSSL_AES_256 */
#endif /* HAVE_AES_CBC */
#ifdef WOLFSSL_AES_128
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ctr(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_128_ctr");
@@ -13168,8 +13313,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_128_CTR;
}
#endif /* WOLFSSL_AES_2128 */
#ifdef WOLFSSL_AES_192
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ctr(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_192_ctr");
@@ -13177,8 +13324,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_192_CTR;
}
#endif /* WOLFSSL_AES_192 */
#ifdef WOLFSSL_AES_256
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ctr(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_256_ctr");
@@ -13186,7 +13335,9 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_256_CTR;
}
#endif /* WOLFSSL_AES_256 */
#ifdef WOLFSSL_AES_128
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ecb(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_128_ecb");
@@ -13194,8 +13345,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_128_ECB;
}
#endif /* WOLFSSL_AES_128 */
#ifdef WOLFSSL_AES_192
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ecb(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_192_ecb");
@@ -13203,8 +13356,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_192_ECB;
}
#endif /* WOLFSSL_AES_192*/
#ifdef WOLFSSL_AES_256
const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ecb(void)
{
WOLFSSL_ENTER("wolfSSL_EVP_aes_256_ecb");
@@ -13212,6 +13367,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
wolfSSL_EVP_init();
return EVP_AES_256_ECB;
}
#endif /* WOLFSSL_AES_256 */
#endif /* NO_AES */
#ifndef NO_DES3
@@ -13335,6 +13491,8 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
#ifndef NO_AES
#ifdef HAVE_AES_CBC
#ifdef WOLFSSL_AES_128
if (ctx->cipherType == AES_128_CBC_TYPE ||
(type && XSTRNCMP(type, EVP_AES_128_CBC, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_128_CBC");
@@ -13358,7 +13516,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
else if (ctx->cipherType == AES_192_CBC_TYPE ||
else
#endif /* WOLFSSL_AES_128 */
#ifdef WOLFSSL_AES_192
if (ctx->cipherType == AES_192_CBC_TYPE ||
(type && XSTRNCMP(type, EVP_AES_192_CBC, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_192_CBC");
ctx->cipherType = AES_192_CBC_TYPE;
@@ -13381,7 +13542,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
else if (ctx->cipherType == AES_256_CBC_TYPE ||
else
#endif /* WOLFSSL_AES_192 */
#ifdef WOLFSSL_AES_256
if (ctx->cipherType == AES_256_CBC_TYPE ||
(type && XSTRNCMP(type, EVP_AES_256_CBC, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_256_CBC");
ctx->cipherType = AES_256_CBC_TYPE;
@@ -13408,7 +13572,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
#endif /* WOLFSSL_AES_256 */
#endif /* HAVE_AES_CBC */
#ifdef WOLFSSL_AES_COUNTER
#ifdef WOLFSSL_AES_128
else if (ctx->cipherType == AES_128_CTR_TYPE ||
(type && XSTRNCMP(type, EVP_AES_128_CTR, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_128_CTR");
@@ -13432,7 +13599,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
else if (ctx->cipherType == AES_192_CTR_TYPE ||
else
#endif /* WOLFSSL_AES_128 */
#ifdef WOLFSSL_AES_192
if (ctx->cipherType == AES_192_CTR_TYPE ||
(type && XSTRNCMP(type, EVP_AES_192_CTR, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_192_CTR");
ctx->cipherType = AES_192_CTR_TYPE;
@@ -13455,7 +13625,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
else if (ctx->cipherType == AES_256_CTR_TYPE ||
else
#endif /* WOLFSSL_AES_192 */
#ifdef WOLFSSL_AES_256
if (ctx->cipherType == AES_256_CTR_TYPE ||
(type && XSTRNCMP(type, EVP_AES_256_CTR, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_256_CTR");
ctx->cipherType = AES_256_CTR_TYPE;
@@ -13478,7 +13651,9 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
ret = 0;
}
#endif /* WOLFSSL_AES_256 */
#endif /* WOLFSSL_AES_CTR */
#ifdef WOLFSSL_AES_128
else if (ctx->cipherType == AES_128_ECB_TYPE ||
(type && XSTRNCMP(type, EVP_AES_128_ECB, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_128_ECB");
@@ -13497,7 +13672,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
return ret;
ret = 0;
}
else if (ctx->cipherType == AES_192_ECB_TYPE ||
else
#endif /* WOLFSSL_AES_128 */
#ifdef WOLFSSL_AES_192
if (ctx->cipherType == AES_192_ECB_TYPE ||
(type && XSTRNCMP(type, EVP_AES_192_ECB, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_192_ECB");
ctx->cipherType = AES_192_ECB_TYPE;
@@ -13515,7 +13693,10 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
return ret;
ret = 0;
}
else if (ctx->cipherType == AES_256_ECB_TYPE ||
else
#endif /* WOLFSSL_AES_192 */
#ifdef WOLFSSL_AES_256
if (ctx->cipherType == AES_256_ECB_TYPE ||
(type && XSTRNCMP(type, EVP_AES_256_ECB, EVP_AES_SIZE) == 0)) {
WOLFSSL_MSG("EVP_AES_256_ECB");
ctx->cipherType = AES_256_ECB_TYPE;
@@ -13533,6 +13714,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
return ret;
ret = 0;
}
#endif /* WOLFSSL_AES_256 */
#endif /* NO_AES */
#ifndef NO_DES3
@@ -28956,36 +29138,45 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
type = oidSigType;
break;
#ifndef NO_MD5
case CTC_MD5wRSA:
sName = "md5WithRSA";
type = oidSigType;
break;
#endif
case CTC_SHAwRSA:
sName = "shaWithRSA";
type = oidSigType;
break;
#ifdef WOLFSSL_SHA224
case CTC_SHA224wRSA:
sName = "sha224WithRSA";
type = oidSigType;
break;
#endif
#ifndef NO_SHA256
case CTC_SHA256wRSA:
sName = "sha256WithRSA";
type = oidSigType;
break;
#endif
#ifdef WOLFSSL_SHA384
case CTC_SHA384wRSA:
sName = "sha384WithRSA";
type = oidSigType;
break;
#endif
#ifdef WOLFSSL_SHA512
case CTC_SHA512wRSA:
sName = "sha512WithRSA";
type = oidSigType;
break;
#endif
#endif /* NO_RSA */
#ifdef HAVE_ECC
case CTC_SHAwECDSA:

View File

@@ -2031,7 +2031,8 @@ static void wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
#ifdef NEED_AES_TABLES
switch (keylen) {
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 128
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 128 && \
defined(WOLFSSL_AES_128)
case 16:
while (1)
{
@@ -2052,7 +2053,8 @@ static void wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
break;
#endif /* 128 */
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 192
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 192 && \
defined(WOLFSSL_AES_192)
case 24:
/* for (;;) here triggers a bug in VC60 SP4 w/ Pro Pack */
while (1)
@@ -2076,7 +2078,8 @@ static void wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
break;
#endif /* 192 */
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 256
#if defined(AES_MAX_KEY_SIZE) && AES_MAX_KEY_SIZE >= 256 && \
defined(WOLFSSL_AES_256)
case 32:
while (1)
{

View File

@@ -165,7 +165,9 @@ enum {
EVP_PKEY_RSA = 16,
EVP_PKEY_DSA = 17,
EVP_PKEY_EC = 18,
#ifdef HAVE_IDEA
IDEA_CBC_TYPE = 19,
#endif
NID_sha1 = 64,
NID_sha224 = 65,
NID_md2 = 77,

View File

@@ -1775,7 +1775,9 @@ enum BulkCipherAlgorithm {
wolfssl_des,
wolfssl_triple_des, /* leading 3 (3des) not valid identifier */
wolfssl_des40,
#ifdef HAVE_IDEA
wolfssl_idea,
#endif
wolfssl_aes,
wolfssl_aes_gcm,
wolfssl_aes_ccm,

View File

@@ -1399,6 +1399,20 @@ extern void uITRON4_free(void *p) ;
#undef AES_MAX_KEY_SIZE
#define AES_MAX_KEY_SIZE 256
#endif
#ifndef NO_AES_128
#undef WOLFSSL_AES_128
#define WOLFSSL_AES_128
#endif
#if !defined(NO_AES_192) && AES_MAX_KEY_SIZE >= 192
#undef WOLFSSL_AES_192
#define WOLFSSL_AES_192
#endif
#if !defined(NO_AES_256) && AES_MAX_KEY_SIZE >= 256
#undef WOLFSSL_AES_256
#define WOLFSSL_AES_256
#endif
#ifndef NO_AES_DECRYPT
#undef HAVE_AES_DECRYPT
#define HAVE_AES_DECRYPT