1 /* config-BEREFOOT.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 
23 
24 /**** wolfSSL for KEIL-RL Configuration ****/
25 
26 #define __CORTEX_M3__
27 #define WOLFSSL_MDK_ARM
28 #define NO_WRITEV
29 #define NO_WOLFSSL_DIR
30 //#define NO_MAIN_DRIVER
31 
32 #define WOLFSSL_DER_LOAD
33 #define HAVE_NULL_CIPHER
34 
35 #define SINGLE_THREADED
36 #define NO_FILESYSTEM
37 #define NO_TLS
38 #define WOLFSSL_USER_IO
39 
40 #define NO_ECHOSERVER
41 #define NO_ECHOCLIENT
42 #define NO_SIMPLE_SERVER
43 #define NO_SIMPLE_CLIENT
44 
45 // <<< Use Configuration Wizard in Context Menu >>>
46 
47 // <h> Build Target: KEIL-BAREFOOT
48 //  <h> Single Threaded, No File System, No TCP-net
49 //   </h>
50 //      <e>Command Shell
51 #define MDK_CONF_SHELL 1
52 #if MDK_CONF_SHELL  == 1
53 #define WOLFSSL_MDK_SHELL
54 #endif
55 //  </e>
56 //  <h>wolfSSL Apps
57 //  <h>Crypt/Cipher
58 //        <o>Cert Storage <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
59 #define MDK_CONF_CERT_BUFF 1
60 #if MDK_CONF_CERT_BUFF == 1
61 #define USE_CERT_BUFFERS_1024
62 #elif MDK_CONF_CERT_BUFF == 2
63 #define USE_CERT_BUFFERS_2048
64 #endif
65 
66 //      <e>Crypt/Cipher Test Suite
67 #define MDK_CONF_CTaoCryptTest 1
68 #if MDK_CONF_CTaoCryptTest  == 0
69 #define NO_CRYPT_TEST
70 #endif
71 //  </e>
72 //      <e>Crypt/Cipher Benchmark
73 #define MDK_CONF_CTaoCryptBenchmark 1
74 #if MDK_CONF_CTaoCryptBenchmark == 0
75 #define NO_CRYPT_BENCHMARK
76 #define BENCH_EMBEDDED
77 #endif
78 //  </e>
79 //   </h>
80 
81 //  <h>STM32 Hardware Crypt
82 //      <e>STM32F2 Hardware RNG
83 #define MDK_CONF_STM32F2_RNG 0
84 #if MDK_CONF_STM32F2_RNG == 1
85 #define STM32F2_RNG
86 #else
87 #define NO_DEV_RANDOM
88 #endif
89 //  </e>
90 //      <e>STM32F2 Hardware Crypt
91 #define MDK_CONF_STM32F2_CRYPTO 0
92 #if MDK_CONF_STM32F2_CRYPTO == 1
93 #define STM32F2_CRYPTO
94 #endif
95 //  </e>
96 
97 // </h>
98 
99 
100 //  <h>wolfCrypt Library
101 
102 //       <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
103 //        </h>
104 //      <e>MD2
105 #define MDK_CONF_MD2 0
106 #if MDK_CONF_MD2 == 1
107 #define WOLFSSL_MD2
108 #endif
109 //  </e>
110 //      <e>MD4
111 #define MDK_CONF_MD4 1
112 #if MDK_CONF_MD4 == 0
113 #define NO_MD4
114 #endif
115 //  </e>
116 //      <e>SHA-384
117 //          <i>This has to be with SHA512
118 #define MDK_CONF_SHA384 0
119 #if MDK_CONF_SHA384 == 1
120 #define WOLFSSL_SHA384
121 #endif
122 //  </e>
123 //      <e>SHA-512
124 #define MDK_CONF_SHA512     0
125 #if MDK_CONF_SHA512     == 1
126 #define WOLFSSL_SHA512
127 #endif
128 //  </e>
129 //      <e>RIPEMD
130 #define MDK_CONF_RIPEMD 0
131 #if MDK_CONF_RIPEMD == 1
132 #define WOLFSSL_RIPEMD
133 #endif
134 //  </e>
135 //      <e>HMAC
136 #define MDK_CONF_HMAC 1
137 #if MDK_CONF_HMAC == 0
138 #define NO_HMAC
139 #endif
140 //  </e>
141 //      <e>HC128
142 #define MDK_CONF_HC128 0
143 #if MDK_CONF_HC128 == 1
144 #define HAVE_HC128
145 #endif
146 //  </e>
147 //  <e>RABBIT
148 #define MDK_CONF_RABBIT 1
149 #if MDK_CONF_RABBI == 0
150 #define NO_RABBIT
151 #endif
152 //  </e>
153 
154 //      <e>AEAD
155 #define MDK_CONF_AEAD 0
156 #if MDK_CONF_AEAD == 1
157 #define HAVE_AEAD
158 #endif
159 //  </e>
160 //      <e>DES3
161 #define MDK_CONF_DES3 1
162 #if MDK_CONF_DES3 == 0
163 #define NO_DES3
164 #endif
165 //  </e>
166 //      <e>CAMELLIA
167 #define MDK_CONF_CAMELLIA 0
168 #if MDK_CONF_CAMELLIA == 1
169 #define HAVE_CAMELLIA
170 #endif
171 //  </e>
172 
173 //      <e>DH
174 //              <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
175 #define MDK_CONF_DH 1
176 #if MDK_CONF_DH == 0
177 #define NO_DH
178 #endif
179 //  </e>
180 //      <e>DSA
181 #define MDK_CONF_DSA 1
182 #if MDK_CONF_DSA == 0
183 #define NO_DSA
184 #endif
185 //  </e>
186 //      <e>PWDBASED
187 #define MDK_CONF_PWDBASED 1
188 #if MDK_CONF_PWDBASED == 0
189 #define NO_PWDBASED
190 #endif
191 //  </e>
192 
193 //      <e>ECC
194 #define MDK_CONF_ECC 0
195 #if MDK_CONF_ECC == 1
196 #define HAVE_ECC
197 #endif
198 //  </e>
199 //      <e>PSK
200 #define MDK_CONF_PSK 1
201 #if MDK_CONF_PSK == 0
202 #define NO_PSK
203 #endif
204 //  </e>
205 //      <e>AESCCM (Turn off Hardware Crypt)
206 #define MDK_CONF_AESCCM 0
207 #if MDK_CONF_AESCCM == 1
208 #define HAVE_AESCCM
209 #endif
210 //  </e>
211 //      <e>AESGCM (Turn off Hardware Crypt)
212 #define MDK_CONF_AESGCM 0
213 #if MDK_CONF_AESGCM == 1
214 #define HAVE_AESGCM
215 #define BUILD_AESGCM
216 #endif
217 //  </e>
218 //  </h>
219 
220 //  <h>Others
221 
222 //      <e>Inline
223 #define MDK_CONF_INLINE 0
224 #if MDK_CONF_INLINE == 0
225 #define NO_INLINE
226 #endif
227 //  </e>
228 //      <h>Debug
229 //              <e>Debug Message
230 #define MDK_CONF_DebugMessage 0
231 #if MDK_CONF_DebugMessage == 1
232 #define DEBUG_WOLFSSL
233 #endif
234 //         </e>
235 //              <e>Check malloc
236 #define MDK_CONF_CheckMalloc 1
237 #if MDK_CONF_CheckMalloc == 1
238 #define WOLFSSL_MALLOC_CHECK
239 #endif
240 //         </e>
241 
242 
243 //  </h>
244 //      <e>ErrNo.h
245 #define MDK_CONF_ErrNo 0
246 #if MDK_CONF_ErrNo == 1
247 #define HAVE_ERRNO
248 #endif
249 //  </e>
250 //      <e>zlib (need "zlib.h")
251 #define MDK_CONF_LIBZ 0
252 #if MDK_CONF_LIBZ == 1
253 #define HAVE_LIBZ
254 #endif
255 //  </e>
256 //      <e>CAVIUM (need CAVIUM headers)
257 #define MDK_CONF_CAVIUM 0
258 #if MDK_CONF_CAVIUM == 1
259 #define HAVE_CAVIUM
260 #endif
261 //  </e>
262 
263 //      <e>Error Strings
264 #define MDK_CONF_ErrorStrings 1
265 #if MDK_CONF_ErrorStrings == 0
266 #define NO_ERROR_STRINGS
267 #endif
268 //  </e>
269 
270 //      <e>Small Stack
271 #define MDK_CONF_SmallStack 1
272 #if MDK_CONF_SmallStack == 0
273 #define NO_WOLFSSL_SMALL_STACK
274 #endif
275 //  </e>
276 //      <e>Use Fast Math
277 #define MDK_CONF_FASTMATH 0
278 #if MDK_CONF_FASTMATH == 1
279 #define USE_FAST_MATH
280 #endif
281 //  </e>
282 
283 
284 //  </h>
285 
286 //</h>
287 // <<< end of configuration section >>>
288