add AES macro guards and reduce code in GetName

This commit is contained in:
Jacob Barthelmeh
2018-02-23 13:45:42 -07:00
parent 6500c40015
commit 79f13478df
3 changed files with 29 additions and 42 deletions

View File

@ -8374,15 +8374,21 @@ int wc_AesGetKeySize(Aes* aes, word32* keySize)
} }
switch (aes->rounds) { switch (aes->rounds) {
#ifdef WOLFSSL_AES_128
case 10: case 10:
*keySize = 16; *keySize = 16;
break; break;
#endif
#ifdef WOLFSSL_AES_192
case 12: case 12:
*keySize = 24; *keySize = 24;
break; break;
#endif
#ifdef WOLFSSL_AES_256
case 14: case 14:
*keySize = 32; *keySize = 32;
break; break;
#endif
default: default:
*keySize = 0; *keySize = 0;
ret = BAD_FUNC_ARG; ret = BAD_FUNC_ARG;

View File

@ -4164,9 +4164,9 @@ static int GetName(DecodedCert* cert, int nameType)
/* v1 name types */ /* v1 name types */
if (joint[0] == 0x55 && joint[1] == 0x04) { if (joint[0] == 0x55 && joint[1] == 0x04) {
byte id; const char* copy = NULL;
byte copy = FALSE;
int strLen; int strLen;
byte id;
cert->srcIdx += 2; cert->srcIdx += 2;
id = cert->source[cert->srcIdx++]; id = cert->source[cert->srcIdx++];
@ -4189,22 +4189,14 @@ static int GetName(DecodedCert* cert, int nameType)
cert->subjectCNEnc = b; cert->subjectCNEnc = b;
} }
if (!tooBig) { copy = WOLFSSL_COMMON_NAME;
XMEMCPY(&full[idx], "/CN=", 4);
idx += 4;
copy = TRUE;
}
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
dName->cnIdx = cert->srcIdx; dName->cnIdx = cert->srcIdx;
dName->cnLen = strLen; dName->cnLen = strLen;
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_SUR_NAME) { else if (id == ASN_SUR_NAME) {
if (!tooBig) { copy = WOLFSSL_SUR_NAME;
XMEMCPY(&full[idx], "/SN=", 4);
idx += 4;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectSN = (char*)&cert->source[cert->srcIdx]; cert->subjectSN = (char*)&cert->source[cert->srcIdx];
@ -4218,11 +4210,7 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_COUNTRY_NAME) { else if (id == ASN_COUNTRY_NAME) {
if (!tooBig) { copy = WOLFSSL_COUNTRY_NAME;
XMEMCPY(&full[idx], "/C=", 3);
idx += 3;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectC = (char*)&cert->source[cert->srcIdx]; cert->subjectC = (char*)&cert->source[cert->srcIdx];
@ -4236,11 +4224,7 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_LOCALITY_NAME) { else if (id == ASN_LOCALITY_NAME) {
if (!tooBig) { copy = WOLFSSL_LOCALITY_NAME;
XMEMCPY(&full[idx], "/L=", 3);
idx += 3;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectL = (char*)&cert->source[cert->srcIdx]; cert->subjectL = (char*)&cert->source[cert->srcIdx];
@ -4254,11 +4238,7 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_STATE_NAME) { else if (id == ASN_STATE_NAME) {
if (!tooBig) { copy = WOLFSSL_STATE_NAME;
XMEMCPY(&full[idx], "/ST=", 4);
idx += 4;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectST = (char*)&cert->source[cert->srcIdx]; cert->subjectST = (char*)&cert->source[cert->srcIdx];
@ -4272,11 +4252,7 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_ORG_NAME) { else if (id == ASN_ORG_NAME) {
if (!tooBig) { copy = WOLFSSL_ORG_NAME;
XMEMCPY(&full[idx], "/O=", 3);
idx += 3;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectO = (char*)&cert->source[cert->srcIdx]; cert->subjectO = (char*)&cert->source[cert->srcIdx];
@ -4290,11 +4266,7 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_ORGUNIT_NAME) { else if (id == ASN_ORGUNIT_NAME) {
if (!tooBig) { copy = WOLFSSL_ORGUNIT_NAME;
XMEMCPY(&full[idx], "/OU=", 4);
idx += 4;
copy = TRUE;
}
#ifdef WOLFSSL_CERT_GEN #ifdef WOLFSSL_CERT_GEN
if (nameType == SUBJECT) { if (nameType == SUBJECT) {
cert->subjectOU = (char*)&cert->source[cert->srcIdx]; cert->subjectOU = (char*)&cert->source[cert->srcIdx];
@ -4308,17 +4280,15 @@ static int GetName(DecodedCert* cert, int nameType)
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
else if (id == ASN_SERIAL_NUMBER) { else if (id == ASN_SERIAL_NUMBER) {
if (!tooBig) { copy = WOLFSSL_SERIAL_NUMBER;
XMEMCPY(&full[idx], "/serialNumber=", 14);
idx += 14;
copy = TRUE;
}
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
dName->snIdx = cert->srcIdx; dName->snIdx = cert->srcIdx;
dName->snLen = strLen; dName->snLen = strLen;
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
} }
if (copy && !tooBig) { if (copy && !tooBig) {
XMEMCPY(&full[idx], copy, XSTRLEN(copy));
idx += XSTRLEN(copy);
XMEMCPY(&full[idx], &cert->source[cert->srcIdx], strLen); XMEMCPY(&full[idx], &cert->source[cert->srcIdx], strLen);
idx += strLen; idx += strLen;
} }

View File

@ -115,6 +115,17 @@ enum DN_Tags {
ASN_DOMAIN_COMPONENT = 0x19 /* DC */ ASN_DOMAIN_COMPONENT = 0x19 /* DC */
}; };
/* DN Tag Strings */
#define WOLFSSL_COMMON_NAME "/CN"
#define WOLFSSL_SUR_NAME "/SN"
#define WOLFSSL_SERIAL_NUMBER "/serialNumber="
#define WOLFSSL_COUNTRY_NAME "/C"
#define WOLFSSL_LOCALITY_NAME "/L"
#define WOLFSSL_STATE_NAME "/ST"
#define WOLFSSL_ORG_NAME "/O"
#define WOLFSSL_ORGUNIT_NAME "/OU"
#define WOLFSSL_DOMAIN_COMPONENT "/DC"
enum PBES { enum PBES {
PBE_MD5_DES = 0, PBE_MD5_DES = 0,
PBE_SHA1_RC4_128 = 1, PBE_SHA1_RC4_128 = 1,