Configure Fixes

When enable-all and disable-rsa is configured, some of the tests needed
for all don't work because they only use RSA keys or certificates.
Disabled those test cases in that build combination.
This commit is contained in:
John Safranek
2019-03-14 10:37:40 -07:00
parent 6b89b1f97a
commit 3e3f746f3b

View File

@ -744,7 +744,7 @@ static void test_wolfSSL_CTX_use_certificate_file(void)
#endif #endif
} }
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) #if (defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO)) && !defined(NO_RSA)
static int test_wolfSSL_CTX_use_certificate_ASN1(void) static int test_wolfSSL_CTX_use_certificate_ASN1(void)
{ {
#if !defined(NO_CERTS) && !defined(NO_WOLFSSL_SERVER) && !defined(NO_ASN) #if !defined(NO_CERTS) && !defined(NO_WOLFSSL_SERVER) && !defined(NO_ASN)
@ -765,7 +765,7 @@ static int test_wolfSSL_CTX_use_certificate_ASN1(void)
return WOLFSSL_SUCCESS; return WOLFSSL_SUCCESS;
#endif #endif
} }
#endif /* OPENSSL_ALL || WOLFSSL_ASIO */ #endif /* (OPENSSL_ALL || WOLFSSL_ASIO) && !NO_RSA */
/* Test function for wolfSSL_CTX_use_certificate_buffer. Load cert into /* Test function for wolfSSL_CTX_use_certificate_buffer. Load cert into
* context using buffer. * context using buffer.
@ -880,10 +880,12 @@ static void test_wolfSSL_CTX_load_verify_locations(void)
{ {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_WOLFSSL_CLIENT) #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && !defined(NO_WOLFSSL_CLIENT)
WOLFSSL_CTX *ctx; WOLFSSL_CTX *ctx;
#ifndef NO_RSA
WOLFSSL_CERT_MANAGER* cm; WOLFSSL_CERT_MANAGER* cm;
#ifdef PERSIST_CERT_CACHE #ifdef PERSIST_CERT_CACHE
int cacheSz; int cacheSz;
#endif #endif
#endif
#if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_TIRTOS) #if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_TIRTOS)
const char* load_certs_path = "./certs/external"; const char* load_certs_path = "./certs/external";
const char* load_no_certs_path = "./examples"; const char* load_no_certs_path = "./examples";
@ -908,9 +910,8 @@ static void test_wolfSSL_CTX_load_verify_locations(void)
/* load ca cert */ /* load ca cert */
#ifdef NO_RSA #ifdef NO_RSA
AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), ASN_UNKNOWN_OID_E); AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), ASN_UNKNOWN_OID_E);
#else #else /* Skip the following test without RSA certs. */
AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), WOLFSSL_SUCCESS); AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), WOLFSSL_SUCCESS);
#endif
#ifdef PERSIST_CERT_CACHE #ifdef PERSIST_CERT_CACHE
/* Get cert cache size */ /* Get cert cache size */
@ -925,11 +926,7 @@ static void test_wolfSSL_CTX_load_verify_locations(void)
#endif #endif
/* load ca cert again */ /* load ca cert again */
#ifdef NO_RSA
AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), ASN_UNKNOWN_OID_E);
#else
AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), WOLFSSL_SUCCESS); AssertIntEQ(wolfSSL_CTX_load_verify_locations(ctx, caCertFile, NULL), WOLFSSL_SUCCESS);
#endif
/* Test getting CERT_MANAGER */ /* Test getting CERT_MANAGER */
AssertNotNull(cm = wolfSSL_CTX_GetCertManager(ctx)); AssertNotNull(cm = wolfSSL_CTX_GetCertManager(ctx));
@ -941,6 +938,7 @@ static void test_wolfSSL_CTX_load_verify_locations(void)
/* Verify no certs (result is less than cacheSz) */ /* Verify no certs (result is less than cacheSz) */
AssertIntGT(cacheSz, wolfSSL_CTX_get_cert_cache_memsize(ctx)); AssertIntGT(cacheSz, wolfSSL_CTX_get_cert_cache_memsize(ctx));
#endif #endif
#endif
#if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_TIRTOS) #if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_TIRTOS)
/* Test loading CA certificates using a path */ /* Test loading CA certificates using a path */
@ -1067,7 +1065,8 @@ static int test_wolfSSL_CertManagerLoadCABuffer(void)
static void test_wolfSSL_CertManagerCRL(void) static void test_wolfSSL_CertManagerCRL(void)
{ {
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && defined(HAVE_CRL) #if !defined(NO_FILESYSTEM) && !defined(NO_CERTS) && defined(HAVE_CRL) && \
!defined(NO_RSA)
const char* ca_cert = "./certs/ca-cert.pem"; const char* ca_cert = "./certs/ca-cert.pem";
const char* crl1 = "./certs/crl/crl.pem"; const char* crl1 = "./certs/crl/crl.pem";
@ -1097,7 +1096,7 @@ static void test_wolfSSL_CTX_load_verify_chain_buffer_format(void)
{ {
#if !defined(NO_CERTS) && !defined(NO_WOLFSSL_CLIENT) && \ #if !defined(NO_CERTS) && !defined(NO_WOLFSSL_CLIENT) && \
defined(USE_CERT_BUFFERS_2048) && defined(OPENSSL_EXTRA) && \ defined(USE_CERT_BUFFERS_2048) && defined(OPENSSL_EXTRA) && \
defined(WOLFSSL_CERT_GEN) defined(WOLFSSL_CERT_GEN) && !defined(NO_RSA)
WOLFSSL_CTX* ctx; WOLFSSL_CTX* ctx;
@ -1246,9 +1245,11 @@ static void test_wolfSSL_CTX_der_load_verify_locations(void)
/* Case 5 filePath empty */ /* Case 5 filePath empty */
AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, emptyPath, AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, emptyPath,
WOLFSSL_FILETYPE_ASN1), WOLFSSL_FAILURE); WOLFSSL_FILETYPE_ASN1), WOLFSSL_FAILURE);
#ifndef NO_RSA
/* Case 6 success case */ /* Case 6 success case */
AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, derCert, AssertIntEQ(wolfSSL_CTX_der_load_verify_locations(ctx, derCert,
WOLFSSL_FILETYPE_ASN1), WOLFSSL_SUCCESS); WOLFSSL_FILETYPE_ASN1), WOLFSSL_SUCCESS);
#endif
wolfSSL_CTX_free(ctx); wolfSSL_CTX_free(ctx);
#endif #endif
@ -16354,7 +16355,11 @@ static void test_wc_PKCS7_Degenerate(void)
AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId)); AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId));
AssertIntEQ(wc_PKCS7_Init(pkcs7, HEAP_HINT, INVALID_DEVID), 0); AssertIntEQ(wc_PKCS7_Init(pkcs7, HEAP_HINT, INVALID_DEVID), 0);
AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, NULL, 0), 0); AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, NULL, 0), 0);
#ifndef NO_RSA
AssertIntEQ(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0); AssertIntEQ(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0);
#else
AssertIntNE(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0);
#endif
wc_PKCS7_Free(pkcs7); wc_PKCS7_Free(pkcs7);
/* test with turning off degenerate cases */ /* test with turning off degenerate cases */
@ -16589,7 +16594,11 @@ static void test_wc_PKCS7_BER(void)
AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId)); AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId));
AssertIntEQ(wc_PKCS7_Init(pkcs7, HEAP_HINT, INVALID_DEVID), 0); AssertIntEQ(wc_PKCS7_Init(pkcs7, HEAP_HINT, INVALID_DEVID), 0);
AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, NULL, 0), 0); AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, NULL, 0), 0);
#ifndef NO_RSA
AssertIntEQ(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0); AssertIntEQ(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0);
#else
AssertIntNE(wc_PKCS7_VerifySignedData(pkcs7, der, derSz), 0);
#endif
wc_PKCS7_Free(pkcs7); wc_PKCS7_Free(pkcs7);
#ifndef NO_DES3 #ifndef NO_DES3
@ -16599,7 +16608,11 @@ static void test_wc_PKCS7_BER(void)
derSz = (word32)ret; derSz = (word32)ret;
XFCLOSE(f); XFCLOSE(f);
AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId)); AssertNotNull(pkcs7 = wc_PKCS7_New(HEAP_HINT, devId));
#ifndef NO_RSA
AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, der, derSz), 0); AssertIntEQ(wc_PKCS7_InitWithCert(pkcs7, der, derSz), 0);
#else
AssertIntNE(wc_PKCS7_InitWithCert(pkcs7, der, derSz), 0);
#endif
AssertNotNull(f = XFOPEN("./certs/1024/client-key.der", "rb")); AssertNotNull(f = XFOPEN("./certs/1024/client-key.der", "rb"));
AssertIntGT((ret = (int)fread(der, 1, sizeof(der), f)), 0); AssertIntGT((ret = (int)fread(der, 1, sizeof(der), f)), 0);
@ -16607,8 +16620,13 @@ static void test_wc_PKCS7_BER(void)
XFCLOSE(f); XFCLOSE(f);
pkcs7->privateKey = der; pkcs7->privateKey = der;
pkcs7->privateKeySz = derSz; pkcs7->privateKeySz = derSz;
#ifndef NO_RSA
AssertIntGT(wc_PKCS7_DecodeEnvelopedData(pkcs7, berContent, AssertIntGT(wc_PKCS7_DecodeEnvelopedData(pkcs7, berContent,
sizeof(berContent), decoded, sizeof(decoded)), 0); sizeof(berContent), decoded, sizeof(decoded)), 0);
#else
AssertIntEQ(wc_PKCS7_DecodeEnvelopedData(pkcs7, berContent,
sizeof(berContent), decoded, sizeof(decoded)), NOT_COMPILED_IN);
#endif
wc_PKCS7_Free(pkcs7); wc_PKCS7_Free(pkcs7);
#endif /* !NO_DES3 */ #endif /* !NO_DES3 */
@ -17597,7 +17615,8 @@ static void test_wolfSSL_PEM_PrivateKey(void)
#endif #endif
/* key is DES encrypted */ /* key is DES encrypted */
#if !defined(NO_DES3) && defined(WOLFSSL_ENCRYPTED_KEYS) && !defined(NO_FILESYSTEM) #if !defined(NO_DES3) && defined(WOLFSSL_ENCRYPTED_KEYS) && \
!defined(NO_RSA) && !defined(NO_FILESYSTEM)
{ {
pem_password_cb* passwd_cb; pem_password_cb* passwd_cb;
void* passwd_cb_userdata; void* passwd_cb_userdata;
@ -18692,7 +18711,7 @@ static void test_wolfSSL_CTX_set_srp_password(void)
static void test_wolfSSL_X509_STORE(void) static void test_wolfSSL_X509_STORE(void)
{ {
#if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) #if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) && !defined(NO_RSA)
X509_STORE *store; X509_STORE *store;
X509_CRL *crl; X509_CRL *crl;
X509 *x509; X509 *x509;
@ -19169,7 +19188,8 @@ static void test_wolfSSL_set_options(void)
* PRE: OPENSSL and HAVE_CERTIFICATE_STATUS_REQUEST defined. * PRE: OPENSSL and HAVE_CERTIFICATE_STATUS_REQUEST defined.
*/ */
static void test_wolfSSL_set_tlsext_status_type(void){ static void test_wolfSSL_set_tlsext_status_type(void){
#if defined(OPENSSL_EXTRA) && defined(HAVE_CERTIFICATE_STATUS_REQUEST) #if defined(OPENSSL_EXTRA) && defined(HAVE_CERTIFICATE_STATUS_REQUEST) && \
!defined(NO_RSA)
SSL* ssl; SSL* ssl;
SSL_CTX* ctx; SSL_CTX* ctx;
@ -19183,7 +19203,7 @@ static void test_wolfSSL_set_tlsext_status_type(void){
== SSL_SUCCESS); == SSL_SUCCESS);
SSL_free(ssl); SSL_free(ssl);
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
#endif /* OPENSSL_EXTRA && HAVE_CERTIFICATE_STATUS_REQUEST */ #endif /* OPENSSL_EXTRA && HAVE_CERTIFICATE_STATUS_REQUEST && !NO_RSA */
} }
static void test_wolfSSL_PEM_read_bio(void) static void test_wolfSSL_PEM_read_bio(void)
@ -20472,7 +20492,7 @@ static void test_wolfSSL_d2i_PUBKEY(void)
#endif #endif
} }
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) #if (defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO)) && !defined(NO_RSA)
static void test_wolfSSL_d2i_PrivateKeys_bio(void) static void test_wolfSSL_d2i_PrivateKeys_bio(void)
{ {
BIO* bio = NULL; BIO* bio = NULL;
@ -21778,7 +21798,7 @@ static void test_wc_GetPkcs8TraditionalOffset(void)
static void test_wc_SetSubjectRaw(void) static void test_wc_SetSubjectRaw(void)
{ {
#if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ #if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \
defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) && !defined(NO_RSA)
const char* joiCertFile = "./certs/test/cert-ext-joi.pem"; const char* joiCertFile = "./certs/test/cert-ext-joi.pem";
WOLFSSL_X509* x509; WOLFSSL_X509* x509;
int peerCertSz; int peerCertSz;
@ -21820,7 +21840,7 @@ static void test_wc_GetSubjectRaw(void)
static void test_wc_SetIssuerRaw(void) static void test_wc_SetIssuerRaw(void)
{ {
#if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ #if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \
defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) && !defined(NO_RSA)
const char* joiCertFile = "./certs/test/cert-ext-joi.pem"; const char* joiCertFile = "./certs/test/cert-ext-joi.pem";
WOLFSSL_X509* x509; WOLFSSL_X509* x509;
int peerCertSz; int peerCertSz;
@ -21846,7 +21866,7 @@ static void test_wc_SetIssuerRaw(void)
static void test_wc_SetIssueBuffer(void) static void test_wc_SetIssueBuffer(void)
{ {
#if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ #if !defined(NO_ASN) && !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \
defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_CERT_EXT) && !defined(NO_RSA)
const char* joiCertFile = "./certs/test/cert-ext-joi.pem"; const char* joiCertFile = "./certs/test/cert-ext-joi.pem";
WOLFSSL_X509* x509; WOLFSSL_X509* x509;
int peerCertSz; int peerCertSz;
@ -23182,7 +23202,8 @@ static void test_wolfSSL_X509_CRL(void)
static void test_wolfSSL_PEM_read_X509(void) static void test_wolfSSL_PEM_read_X509(void)
{ {
#if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) && !defined(NO_FILESYSTEM) #if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) && !defined(NO_FILESYSTEM) && \
!defined(NO_RSA)
X509 *x509 = NULL; X509 *x509 = NULL;
XFILE fp; XFILE fp;
@ -23799,7 +23820,7 @@ void ApiTest(void)
test_wolfSSL_DES_ncbc(); test_wolfSSL_DES_ncbc();
test_wolfSSL_AES_cbc_encrypt(); test_wolfSSL_AES_cbc_encrypt();
#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) #if (defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO)) && !defined(NO_RSA)
AssertIntEQ(test_wolfSSL_CTX_use_certificate_ASN1(), WOLFSSL_SUCCESS); AssertIntEQ(test_wolfSSL_CTX_use_certificate_ASN1(), WOLFSSL_SUCCESS);
test_wolfSSL_d2i_PrivateKeys_bio(); test_wolfSSL_d2i_PrivateKeys_bio();
#endif /* OPENSSL_ALL || WOLFSSL_ASIO */ #endif /* OPENSSL_ALL || WOLFSSL_ASIO */