1 /* user_settings_min_ecc.h 2 * 3 * Copyright (C) 2006-2021 wolfSSL Inc. 4 * 5 * This file is part of wolfSSL. 6 * 7 * wolfSSL is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * wolfSSL is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA 20 */ 21 22 /* should be renamed to user_settings.h for customer use 23 * generated from configure options: 24 * ./configure \ 25 --enable-cryptonly --enable-ecc --enable-sp \ 26 --disable-rsa --disable-dh --disable-sha3 --disable-sha224 --disable-md5 \ 27 --disable-sha --disable-pkcs12 --disable-memory \ 28 --disable-chacha --disable-poly1305 --disable-sha512 --disable-sha384 \ 29 --disable-aesgcm --disable-aescbc --disable-aes --disable-rng \ 30 CFLAGS="-DNO_SIG_WRAPPER -DWOLFSSL_PUBLIC_MP -DECC_USER_CURVES \ 31 -DNO_ECC_SIGN -DNO_ECC_DHE -DNO_ECC_KEY_EXPORT" 32 * 33 * Cleaned up by David Garske 34 */ 35 36 37 #ifndef WOLFSSL_USER_SETTINGS_H 38 #define WOLFSSL_USER_SETTINGS_H 39 40 41 #ifdef __cplusplus 42 extern "C" { 43 #endif 44 45 /* WolfCrypt Only (no TLS) */ 46 #define WOLFCRYPT_ONLY 47 48 /* Endianness - defaults to little endian */ 49 #ifdef __BIG_ENDIAN__ 50 #define BIG_ENDIAN_ORDER 51 #endif 52 53 /* Expose the math mp_ API's */ 54 #define WOLFSSL_PUBLIC_MP 55 56 /* Use single precision math only */ 57 #define WOLFSSL_SP 58 #define WOLFSSL_SP_SMALL 59 #define WOLFSSL_SP_MATH 60 #define WOLFSSL_HAVE_SP_ECC 61 62 /* Enable Timing Resistance */ 63 #define TFM_TIMING_RESISTANT 64 #define ECC_TIMING_RESISTANT 65 66 /* Enable ECC */ 67 #define HAVE_ECC 68 #define ECC_USER_CURVES /* Only 256-Bit Curves */ 69 //#define ECC_SHAMIR 70 71 /* Optional Feature Disables */ 72 #define NO_SIG_WRAPPER 73 //#define NO_ECC_KEY_EXPORT 74 //#define NO_ECC_DHE 75 //#define NO_ECC_SIGN 76 //#define NO_ECC_VERIFY 77 78 /* Disable Algorithms */ 79 #define NO_AES 80 #define NO_AES_CBC 81 #define NO_DES3 82 #define NO_DSA 83 #define NO_RSA 84 #define NO_DH 85 #define NO_RC4 86 #define NO_MD4 87 #define NO_MD5 88 #define NO_SHA 89 #define NO_HC128 90 #define NO_RABBIT 91 #define NO_PWDBASED 92 #define NO_PKCS12 93 #define NO_PKCS8 94 //#define WC_NO_RNG 95 96 /* Disable Features */ 97 //#define NO_ASN 98 //#define NO_CERTS 99 #define NO_WOLFSSL_MEMORY 100 #define WOLFSSL_NO_PEM 101 //#define NO_CODING 102 #define NO_PSK 103 #ifndef DEBUG_WOLFSSL 104 #define DEBUG_WOLFSSL 105 #define NO_ERROR_STRINGS 106 #endif 107 108 #ifdef __cplusplus 109 } 110 #endif 111 112 #endif /* WOLFSSL_USER_SETTINGS_H */ 113