diff --git a/src/internal.c b/src/internal.c index 077a56bb7..89d91d7e9 100644 --- a/src/internal.c +++ b/src/internal.c @@ -17003,6 +17003,7 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length) } if (ssl->buffers.keyType == rsa_sa_algo) { + #ifndef NO_RSA ret = wc_InitRsaKey_Id((RsaKey*)ssl->hsKey, ssl->buffers.key->buffer, ssl->buffers.key->length, ssl->heap, ssl->buffers.keyDevId); @@ -17015,8 +17016,10 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length) /* Return the maximum signature length. */ *length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz); } + #endif } else if (ssl->buffers.keyType == ecc_dsa_sa_algo) { + #ifdef HAVE_ECC ret = wc_ecc_init_id((ecc_key*)ssl->hsKey, ssl->buffers.key->buffer, ssl->buffers.key->length, ssl->heap, ssl->buffers.keyDevId); @@ -17029,6 +17032,7 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length) /* Return the maximum signature length. */ *length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz); } + #endif } goto exit_dpk; } diff --git a/wolfcrypt/src/wc_pkcs11.c b/wolfcrypt/src/wc_pkcs11.c index 91b9b5df8..bd3133464 100644 --- a/wolfcrypt/src/wc_pkcs11.c +++ b/wolfcrypt/src/wc_pkcs11.c @@ -2441,6 +2441,7 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx) ret = Pkcs11OpenSession(token, &session, readWrite); if (ret == 0) { if (info->algo_type == WC_ALGO_TYPE_PK) { +#if !defined(NO_RSA) || defined(HAVE_ECC) switch (info->pk.type) { #ifndef NO_RSA case WC_PK_TYPE_RSA: @@ -2474,10 +2475,13 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx) ret = NOT_COMPILED_IN; break; } +#else + ret = NOT_COMPILED_IN; +#endif /* !NO_RSA || HAVE_ECC */ } else if (info->algo_type == WC_ALGO_TYPE_CIPHER) { - switch (info->cipher.type) { #ifndef NO_AES + switch (info->cipher.type) { #ifdef HAVE_AESGCM case WC_CIPHER_AES_GCM: if (info->cipher.enc) @@ -2494,8 +2498,10 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx) ret = Pkcs11AesCbcDecrypt(&session, info); break; #endif - #endif } + #else + ret = NOT_COMPILED_IN; + #endif } else if (info->algo_type == WC_ALGO_TYPE_HMAC) { #ifndef NO_HMAC