1 /* config-RTX-TCP-FS.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 
25 /**** wolfSSL for MDK-RTX-TCP-FS  Configuration ****/
26 
27 #define __CORTEX_M3__
28 #define WOLFSSL_MDK_ARM
29 #define NO_WRITEV
30 #define NO_WOLFSSL_DIR
31 #define NO_MAIN_DRIVER
32 
33 #define WOLFSSL_DER_LOAD
34 #define HAVE_NULL_CIPHER
35 
36 #define HAVE_KEIL_RTX
37 #define WOLFSSL_KEIL_TCP_NET
38 
39 
40 // <<< Use Configuration Wizard in Context Menu >>>
41 // <h> Build Target: KEIL-RTX-TCP-FS
42 //  <h> RTOS, File System and TCP-net
43 //  </h>
44 //      <e>Command Shell
45 #define MDK_CONF_SHELL 1
46 #if MDK_CONF_SHELL  == 1
47 #define WOLFSSL_MDK_SHELL
48 #endif
49 //  </e>
50 //  <h>wolfSSL Apps
51 //  <h>Crypt/Cipher
52 //        <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
53 #define MDK_CONF_CERT_BUFF 0
54 #if MDK_CONF_CERT_BUFF== 1
55 #define USE_CERT_BUFFERS_1024
56 #elif MDK_CONF_CERT_BUFF == 2
57 #define USE_CERT_BUFFERS_2048
58 #endif
59 
60 //      <e>Crypt/Cipher Test Suite
61 #define MDK_CONF_CTaoCryptTest 1
62 #if MDK_CONF_CTaoCryptTest  == 0
63 #define NO_CRYPT_TEST
64 #endif
65 //  </e>
66 //      <e>Crypt/Cipher Benchmark
67 #define MDK_CONF_CTaoCryptBenchmark 1
68 #if MDK_CONF_CTaoCryptBenchmark == 0
69 #define NO_CRYPT_BENCHMARK
70 #define BENCH_EMBEDDED
71 #endif
72 //  </e>
73 //   </h>
74 //   <h>SSL/TLS Server/Client
75 //      <e>echoServer
76 #define MDK_CONF_echoServer 1
77 #if MDK_CONF_echoServer == 0
78 #define NO_ECHOSERVER
79 #endif
80 //  </e>
81 //      <e>echoClient
82 #define MDK_CONF_echoClient 1
83 #if MDK_CONF_echoClient == 0
84 #define NO_ECHOCLIENT
85 #endif
86 //  </e>
87 //      <e>SimpleServer
88 #define MDK_CONF_simpleServer 1
89 #if MDK_CONF_simpleServer == 0
90 #define NO_SIMPLE_SERVER
91 #endif
92 //  </e>
93 //      <e>SimpleCliet
94 #define MDK_CONF_simpleClient 1
95 #if MDK_CONF_simpleClient == 0
96 #define NO_SIMPLE_CLIENT
97 #endif
98 //  </e>
99 // </h>
100 // </h>
101 //  <h>STM32 Hardware Crypt
102 //      <e>STM32F2 Hardware RNG
103 #define MDK_CONF_STM32F2_RNG 0
104 #if MDK_CONF_STM32F2_RNG == 1
105 #define STM32F2_RNG
106 #else
107 #define NO_DEV_RANDOM
108 #endif
109 //  </e>
110 //      <e>STM32F2 Hardware Crypt
111 #define MDK_CONF_STM32F2_CRYPTO 0
112 #if MDK_CONF_STM32F2_CRYPTO == 1
113 #define STM32F2_CRYPTO
114 #endif
115 //  </e>
116 
117 // </h>
118 
119 //  <h>wolfSSL Library
120 //     <h>SSL (Included by default)
121 //     </h>
122 
123 //      <e>TLS
124 #define MDK_CONF_TLS 1
125 #if MDK_CONF_TLS == 0
126 #define NO_TLS
127 #endif
128 //  </e>
129 
130 //      <e>CertGen
131 #define MDK_CONF_CERT_GEN 0
132 #if MDK_CONF_CERT_GEN == 1
133 #define WOLFSSL_CERT_GEN
134 #endif
135 //  </e>
136 //      <e>KeyGen
137 #define MDK_CONF_KEY_GEN 0
138 #if MDK_CONF_KEY_GEN == 1
139 #define WOLFSSL_KEY_GEN
140 #endif
141 //  </e>
142 //      <e>CRL
143 #define MDK_CONF_DER_LOAD 0
144 #if MDK_CONF_DER_LOAD == 1
145 #define WOLFSSL_DER_LOAD
146 #endif
147 //  </e>
148 //      <e>OpenSSL Extra
149 #define MDK_CONF_OPENSSL_EXTRA 0
150 #if MDK_CONF_OPENSSL_EXTRA == 1
151 #define OPENSSL_EXTRA
152 #endif
153 //  </e>
154 //      <h>CRL Monitor, OCSP (not supported with KEIL)
155 //     </h>
156 
157 // </h>
158 
159 //  <h>wolfCrypt Library
160 
161 //       <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
162 //        </h>
163 //      <e>MD2
164 #define MDK_CONF_MD2 0
165 #if MDK_CONF_MD2 == 1
166 #define WOLFSSL_MD2
167 #endif
168 //  </e>
169 //      <e>MD4
170 #define MDK_CONF_MD4 0
171 #if MDK_CONF_MD4 == 0
172 #define NO_MD4
173 #endif
174 //  </e>
175 //      <e>SHA-384
176 //          <i>This has to be with SHA512
177 #define MDK_CONF_SHA384 0
178 #if MDK_CONF_SHA384 == 1
179 #define WOLFSSL_SHA384
180 #endif
181 //  </e>
182 //      <e>SHA-512
183 #define MDK_CONF_SHA512     0
184 #if MDK_CONF_SHA512     == 1
185 #define WOLFSSL_SHA512
186 #endif
187 //  </e>
188 //      <e>RIPEMD
189 #define MDK_CONF_RIPEMD 0
190 #if MDK_CONF_RIPEMD == 1
191 #define WOLFSSL_RIPEMD
192 #endif
193 //  </e>
194 //      <e>HMAC
195 #define MDK_CONF_HMAC 1
196 #if MDK_CONF_HMAC == 0
197 #define NO_HMAC
198 #endif
199 //  </e>
200 //      <e>HC128
201 #define MDK_CONF_HC128 0
202 #if MDK_CONF_HC128 == 1
203 #define HAVE_HC128
204 #endif
205 //  </e>
206 //  <e>RABBIT
207 #define MDK_CONF_RABBIT 1
208 #if MDK_CONF_RABBI == 0
209 #define NO_RABBIT
210 #endif
211 //  </e>
212 
213 //      <e>AEAD
214 #define MDK_CONF_AEAD 0
215 #if MDK_CONF_AEAD == 1
216 #define HAVE_AEAD
217 #endif
218 //  </e>
219 //      <e>DES3
220 #define MDK_CONF_DES3 0
221 #if MDK_CONF_DES3 == 0
222 #define NO_DES3
223 #endif
224 //  </e>
225 //      <e>CAMELLIA
226 #define MDK_CONF_CAMELLIA 0
227 #if MDK_CONF_CAMELLIA == 1
228 #define HAVE_CAMELLIA
229 #endif
230 //  </e>
231 
232 //      <e>DH
233 //              <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
234 #define MDK_CONF_DH 1
235 #if MDK_CONF_DH == 0
236 #define NO_DH
237 #endif
238 //  </e>
239 //      <e>DSA
240 #define MDK_CONF_DSA 1
241 #if MDK_CONF_DSA == 0
242 #define NO_DSA
243 #endif
244 //  </e>
245 //      <e>PWDBASED
246 #define MDK_CONF_PWDBASED 1
247 #if MDK_CONF_PWDBASED == 0
248 #define NO_PWDBASED
249 #endif
250 //  </e>
251 
252 //      <e>ECC
253 #define MDK_CONF_ECC 0
254 #if MDK_CONF_ECC == 1
255 #define HAVE_ECC
256 #endif
257 //  </e>
258 //      <e>PSK
259 #define MDK_CONF_PSK 1
260 #if MDK_CONF_PSK == 0
261 #define NO_PSK
262 #endif
263 //  </e>
264 //      <e>AESCCM (Turn off Hardware Crypt)
265 #define MDK_CONF_AESCCM 0
266 #if MDK_CONF_AESCCM == 1
267 #define HAVE_AESCCM
268 #endif
269 //  </e>
270 //      <e>AESGCM (Turn off Hardware Crypt)
271 #define MDK_CONF_AESGCM 0
272 #if MDK_CONF_AESGCM == 1
273 #define HAVE_AESGCM
274 #define BUILD_AESGCM
275 #endif
276 //  </e>
277 //  </h>
278 
279 //  <h>Others
280 
281 //      <e>Inline
282 #define MDK_CONF_INLINE 0
283 #if MDK_CONF_INLINE == 0
284 #define NO_INLINE
285 #endif
286 //  </e>
287 //      <h>Debug
288 //              <e>Debug Message
289 #define MDK_CONF_DEBUG_MSG 0
290 #if MDK_CONF_DEBUG_MSG == 1
291 #define DEBUG_WOLFSSL
292 #endif
293 //         </e>
294 //              <e>Check malloc
295 #define MDK_CONF_CHECK_MALLOC 1
296 #if MDK_CONF_CHECK_MALLOC == 1
297 #define WOLFSSL_MALLOC_CHECK
298 #endif
299 //         </e>
300 
301 
302 //  </h>
303 //      <e>ErrNo.h
304 #define MDK_CONF_ERR_NO 0
305 #if MDK_CONF_ERR_NO == 1
306 #define HAVE_ERRNO
307 #endif
308 //  </e>
309 //      <e>zlib (need "zlib.h")
310 #define MDK_CONF_LIBZ 0
311 #if MDK_CONF_LIBZ == 1
312 #define HAVE_LIBZ
313 #endif
314 //  </e>
315 //      <e>CAVIUM (need CAVIUM headers)
316 #define MDK_CONF_CAVIUM 0
317 #if MDK_CONF_CAVIUM == 1
318 #define HAVE_CAVIUM
319 #endif
320 //  </e>
321 
322 //      <e>Error Strings
323 #define MDK_CONF_ErrorStrings 0
324 #if MDK_CONF_ErrorStrings == 0
325 #define NO_ERROR_STRINGS
326 #endif
327 //  </e>
328 
329 //      <e>Small Stack
330 #define MDK_CONF_SMALL_STACK 1
331 #if MDK_CONF_SMALL_STACK == 0
332 #define NO_WOLFSSL_SMALL_STACK
333 #endif
334 //  </e>
335 //      <e>Use Fast Math
336 #define MDK_CONF_FASTMATH 1
337 #if MDK_CONF_FASTMATH == 1
338 #define USE_FAST_MATH
339 #define TFM_TIMING_RESISTANT
340 #endif
341 //  </e>
342 
343 
344 //  </h>
345 
346 //</h>
347 // <<< end of configuration section >>>
348 
349