1 #include <stdint.h>
2 
3 /* Configuration */
4 #define WOLFSSL_USER_IO
5 #define WOLFSSL_GENERAL_ALIGNMENT 4
6 #define WOLFSSL_SMALL_STACK
7 #define WOLFSSL_BASE64_ENCODE
8 #define WOLFSSL_SHA512
9 
10 #define HAVE_ECC
11 #define HAVE_AESGCM
12 #define HAVE_CURVE25519
13 #define HAVE_HKDF
14 #define HAVE_HASHDRBG
15 #define HAVE_CHACHA
16 #define HAVE_POLY1305
17 #define HAVE_ONE_TIME_AUTH
18 #define HAVE_TLS_EXTENSIONS
19 #define HAVE_SUPPORTED_CURVES
20 #define HAVE_ERRNO_H
21 #define HAVE_LWIP_NATIVE
22 
23 #define FP_LUT                   4
24 #define FP_MAX_BITS              2048 /* 4096 */
25 #define ECC_USER_CURVES /* Disables P-112, P-128, P-160, P-192, P-224, P-384, P-521 but leaves P-256 enabled */
26 #define FP_MAX_BITS_ECC          (256 * 2)
27 #define ALT_ECC_SIZE
28 #define USE_FAST_MATH
29 #define SMALL_SESSION_CACHE
30 #define CURVED25519_SMALL
31 #define RSA_LOW_MEM
32 #define GCM_SMALL
33 #define ECC_SHAMIR
34 #define USE_SLOW_SHA2
35 #define MP_LOW_MEM
36 #define TFM_TIMING_RESISTANT
37 //#define TFM_ARM
38 
39 
40 /* Remove Features */
41 #define NO_DEV_RANDOM
42 #define NO_FILESYSTEM
43 #define NO_WRITEV
44 #define NO_MAIN_DRIVER
45 #define NO_WOLFSSL_MEMORY
46 #define NO_DEV_RANDOM
47 #define NO_MD4
48 #define NO_RABBIT
49 #define NO_HC128
50 #define NO_DSA
51 #define NO_PWDBASED
52 #define NO_PSK
53 #define NO_64BIT
54 #define NO_WOLFSSL_SERVER
55 #define NO_OLD_TLS
56 #define NO_DES3
57 #define NO_MD5
58 #define NO_RC4
59 #define NO_DH
60 #define NO_SHA
61 
62 
63 /* Benchmark / Testing */
64 #define BENCH_EMBEDDED
65 #define USE_CERT_BUFFERS_1024
66 
67 
68 /* Custom functions */
69 extern uint32_t rand_gen(void);
70 #define CUSTOM_RAND_GENERATE rand_gen
71 #define CUSTOM_RAND_TYPE     uint32_t
72 
73 extern double current_time(int reset);
74 #define WOLFSSL_USER_CURRTIME
75 
76 
77 /* Debugging - Optional */
78 #if 0
79 #define fprintf(file, format, ...)   printf(format, ##__VA_ARGS__)
80 #define DEBUG_WOLFSSL
81 #endif
82