Cascoda SDK
Cascoda SDK for building software to run with CA-821x transceivers
Loading...
Searching...
No Matches
mbedtls_user_config.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021, Cascoda Ltd.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * 3. Neither the name of the copyright holder nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef CASCODA_SDK_MBEDTLS_USER_CONFIG_H
30#define CASCODA_SDK_MBEDTLS_USER_CONFIG_H
31
32#if CASCODA_BUILD_SECURE_LWM2M
33#if MBEDTLS_SSL_MAX_CONTENT_LEN < 1024
34#undef MBEDTLS_SSL_MAX_CONTENT_LEN
35#define MBEDTLS_SSL_MAX_CONTENT_LEN 1024
36#endif
37
38#ifndef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
39#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
40#endif
41
42#ifndef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
43#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
44#endif
45
46#ifndef MBEDTLS_BASE64_C
47#define MBEDTLS_BASE64_C
48#endif
49
50#ifndef MBEDTLS_ECDH_C
51#define MBEDTLS_ECDH_C
52#endif
53
54#ifndef MBEDTLS_ECDSA_C
55#define MBEDTLS_ECDSA_C
56#endif
57
58#ifndef MBEDTLS_OID_C
59#define MBEDTLS_OID_C
60#endif
61
62#ifndef MBEDTLS_PEM_PARSE_C
63#define MBEDTLS_PEM_PARSE_C
64#endif
65
66#ifndef MBEDTLS_X509_USE_C
67#define MBEDTLS_X509_USE_C
68#endif
69
70#ifndef MBEDTLS_X509_CRT_PARSE_C
71#define MBEDTLS_X509_CRT_PARSE_C
72#endif
73
74#ifndef MBEDTLS_X509_USE_C
75#define MBEDTLS_X509_USE_C
76#endif
77
78#ifndef MBEDTLS_X509_CRT_PARSE_C
79#define MBEDTLS_X509_CRT_PARSE_C
80#endif
81#endif //CASCODA_BUILD_SECURE_LWM2M
82
83#if CASCODA_BUILD_LWIP
84#ifndef MBEDTLS_OID_C
85#define MBEDTLS_OID_C
86#endif
87
88#ifndef MBEDTLS_X509_USE_C
89#define MBEDTLS_X509_USE_C
90#endif
91
92#ifndef MBEDTLS_X509_CRT_PARSE_C
93#define MBEDTLS_X509_CRT_PARSE_C
94#endif
95#endif //CASCODA_BUILD_LWIP
96
97#if CASCODA_BUILD_KNX
98/* needed for spake */
99#define MBEDTLS_PKCS5_C
100#define MBEDTLS_HKDF_C
101
102/* needed for dtls / oscore */
103#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
104#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
105#define MBEDTLS_SSL_PROTO_TLS1_2
106#define MBEDTLS_SSL_PROTO_DTLS
107#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
108#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
109
110#define MBEDTLS_AES_C
111#define MBEDTLS_CIPHER_C
112#define MBEDTLS_CTR_DRBG_C
113#define MBEDTLS_ENTROPY_C
114#define MBEDTLS_MD_C
115#define MBEDTLS_SHA256_C
116
117#undef MBEDTLS_ENTROPY_MAX_SOURCES
118#define MBEDTLS_ENTROPY_MAX_SOURCES 2
119#define MBEDTLS_ENTROPY_HARDWARE_ALT
120
121#endif //CASCODA_BUILD_KNX
122
123#if defined(MBEDTLS_DEVICE_CONFIG_FILE)
124#include MBEDTLS_DEVICE_CONFIG_FILE
125#endif
126
127#endif //CASCODA_SDK_MBEDTLS_USER_CONFIG_H