diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 2e63e04c5..bdf995790 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -645,10 +645,9 @@ static int CheckBitString(const byte* input, word32* inOutIdx, int* len, return 0; } -#if defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN) - -#if (!defined(NO_RSA) && !defined(HAVE_USER_RSA)) || \ - defined(HAVE_ECC) || defined(HAVE_ED25519) +#if (!defined(NO_RSA) && !defined(HAVE_USER_RSA) && \ + (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN))) || \ + defined(HAVE_ECC) || defined(HAVE_ED25519) /* Set the DER/BER encoding of the ASN.1 BIT_STRING header. * * len Length of data to encode. @@ -668,6 +667,12 @@ static word32 SetBitString(word32 len, byte unusedBits, byte* output) return idx; } +#endif /* !NO_RSA || HAVE_ECC || HAVE_ED25519 */ + +#if defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN) + +#if (!defined(NO_RSA) && !defined(HAVE_USER_RSA)) || \ + defined(HAVE_ECC) || defined(HAVE_ED25519) #ifdef WOLFSSL_CERT_EXT /* Set the DER/BER encoding of the ASN.1 BIT_STRING with a 16-bit value. @@ -3906,7 +3911,7 @@ WOLFSSL_LOCAL word32 SetExplicit(byte number, word32 len, byte* output) } -#if defined(HAVE_ECC) && (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN)) +#if defined(HAVE_ECC) static int SetCurve(ecc_key* key, byte* output) { @@ -3945,7 +3950,7 @@ static int SetCurve(ecc_key* key, byte* output) return idx; } -#endif /* HAVE_ECC && (WOLFSSL_CERT_GEN || WOLFSSL_KEY_GEN) */ +#endif /* HAVE_ECC */ static INLINE int IsSigAlgoECDSA(int algoOID) @@ -6756,7 +6761,7 @@ static word32 SetUTF8String(word32 len, byte* output) #endif /*WOLFSSL_CERT_GEN */ -#if defined(HAVE_ECC) && (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN)) +#if defined(HAVE_ECC) /* Write a public ECC key to output */ static int SetEccPublicKey(byte* output, ecc_key* key, int with_header) @@ -6887,7 +6892,7 @@ int wc_EccPublicKeyToDer(ecc_key* key, byte* output, word32 inLen, return SetEccPublicKey(output, key, with_AlgCurve); } -#endif /* HAVE_ECC && (WOLFSSL_CERT_GEN || WOLFSSL_KEY_GEN) */ +#endif /* HAVE_ECC */ #if defined(HAVE_ED25519) && (defined(WOLFSSL_CERT_GEN) || \ defined(WOLFSSL_KEY_GEN)) @@ -9877,8 +9882,6 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx, } -#ifdef WOLFSSL_KEY_GEN - /* build DER formatted ECC key, include optional public key if requested, * return length on success, negative on error */ static int wc_BuildEccKeyDer(ecc_key* key, byte* output, word32 inLen, @@ -10081,8 +10084,6 @@ int wc_EccPrivateKeyToPKCS8(ecc_key* key, byte* output, word32* outLen) return ret; } -#endif /* WOLFSSL_KEY_GEN */ - #endif /* HAVE_ECC */ diff --git a/wolfssl/wolfcrypt/asn_public.h b/wolfssl/wolfcrypt/asn_public.h index 517154ba9..595c2f525 100644 --- a/wolfssl/wolfcrypt/asn_public.h +++ b/wolfssl/wolfcrypt/asn_public.h @@ -289,10 +289,8 @@ WOLFSSL_API int wc_SetExtKeyUsage(Cert *cert, const char *value); /* public key helper */ WOLFSSL_API int wc_EccPublicKeyDecode(const byte*, word32*, ecc_key*, word32); - #if (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN)) - WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key*, byte* output, - word32 inLen, int with_AlgCurve); - #endif + WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key*, byte* output, + word32 inLen, int with_AlgCurve); #endif #ifdef HAVE_ED25519