Skip to content

Commit 1eccc71

Browse files
ioannisggalak
authored andcommitted
modules: mbedtls: move the configs into the main tree
Move the mbedtls configs directory in the main tree. Signed-off-by: Ioannis Glaropoulos <[email protected]>
1 parent f9b2e98 commit 1eccc71

11 files changed

+1405
-1
lines changed

modules/mbedtls/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ if(CONFIG_MBEDTLS_BUILTIN)
88

99
target_include_directories(mbedTLS INTERFACE
1010
${ZEPHYR_CURRENT_MODULE_DIR}/include
11-
${ZEPHYR_CURRENT_MODULE_DIR}/configs
11+
configs
1212
)
1313

1414
zephyr_library()
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
/**
2+
* \file config-ccm-psk-tls1_2.h
3+
*
4+
* \brief Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
5+
*/
6+
/*
7+
* Copyright The Mbed TLS Contributors
8+
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9+
*
10+
* This file is provided under the Apache License 2.0, or the
11+
* GNU General Public License v2.0 or later.
12+
*
13+
* **********
14+
* Apache License 2.0:
15+
*
16+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
17+
* not use this file except in compliance with the License.
18+
* You may obtain a copy of the License at
19+
*
20+
* http://www.apache.org/licenses/LICENSE-2.0
21+
*
22+
* Unless required by applicable law or agreed to in writing, software
23+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
24+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25+
* See the License for the specific language governing permissions and
26+
* limitations under the License.
27+
*
28+
* **********
29+
*
30+
* **********
31+
* GNU General Public License v2.0 or later:
32+
*
33+
* This program is free software; you can redistribute it and/or modify
34+
* it under the terms of the GNU General Public License as published by
35+
* the Free Software Foundation; either version 2 of the License, or
36+
* (at your option) any later version.
37+
*
38+
* This program is distributed in the hope that it will be useful,
39+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
40+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41+
* GNU General Public License for more details.
42+
*
43+
* You should have received a copy of the GNU General Public License along
44+
* with this program; if not, write to the Free Software Foundation, Inc.,
45+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
46+
*
47+
* **********
48+
*/
49+
/*
50+
* Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
51+
* Distinguishing features:
52+
* - no bignum, no PK, no X509
53+
* - fully modern and secure (provided the pre-shared keys have high entropy)
54+
* - very low record overhead with CCM-8
55+
* - optimized for low RAM usage
56+
*
57+
* See README.txt for usage instructions.
58+
*/
59+
#ifndef MBEDTLS_CONFIG_H
60+
#define MBEDTLS_CONFIG_H
61+
62+
/* System support */
63+
//#define MBEDTLS_HAVE_TIME /* Optionally used in Hello messages */
64+
/* Other MBEDTLS_HAVE_XXX flags irrelevant for this configuration */
65+
66+
/* mbed TLS feature support */
67+
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
68+
#define MBEDTLS_SSL_PROTO_TLS1_2
69+
70+
/* mbed TLS modules */
71+
#define MBEDTLS_AES_C
72+
#define MBEDTLS_CCM_C
73+
#define MBEDTLS_CIPHER_C
74+
#define MBEDTLS_CTR_DRBG_C
75+
#define MBEDTLS_ENTROPY_C
76+
#define MBEDTLS_MD_C
77+
#define MBEDTLS_NET_C
78+
#define MBEDTLS_SHA256_C
79+
#define MBEDTLS_SSL_CLI_C
80+
#define MBEDTLS_SSL_SRV_C
81+
#define MBEDTLS_SSL_TLS_C
82+
83+
/* Save RAM at the expense of ROM */
84+
#define MBEDTLS_AES_ROM_TABLES
85+
86+
/* Save some RAM by adjusting to your exact needs */
87+
#define MBEDTLS_PSK_MAX_LEN 16 /* 128-bits keys are generally enough */
88+
89+
/*
90+
* You should adjust this to the exact number of sources you're using: default
91+
* is the "platform_entropy_poll" source, but you may want to add other ones
92+
* Minimum is 2 for the entropy test suite.
93+
*/
94+
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
95+
96+
/*
97+
* Use only CCM_8 ciphersuites, and
98+
* save ROM and a few bytes of RAM by specifying our own ciphersuite list
99+
*/
100+
#define MBEDTLS_SSL_CIPHERSUITES \
101+
MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, \
102+
MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8
103+
104+
/*
105+
* Save RAM at the expense of interoperability: do this only if you control
106+
* both ends of the connection! (See comments in "mbedtls/ssl.h".)
107+
* The optimal size here depends on the typical size of records.
108+
*/
109+
#define MBEDTLS_SSL_MAX_CONTENT_LEN 1024
110+
111+
#include "mbedtls/check_config.h"
112+
113+
#endif /* MBEDTLS_CONFIG_H */
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
/*
2+
* Minimal configuration for DTLS 1.2 with PSK and AES-CCM ciphersuites
3+
*
4+
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
5+
* SPDX-License-Identifier: Apache-2.0
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
8+
* not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*
19+
* This file is part of mbed TLS (https://tls.mbed.org)
20+
*/
21+
/*
22+
* Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
23+
* Distinguishing features:
24+
* - no bignum, no PK, no X509
25+
* - fully modern and secure (provided the pre-shared keys have high entropy)
26+
* - very low record overhead with CCM-8
27+
* - optimized for low RAM usage
28+
*
29+
* See README.txt for usage instructions.
30+
*/
31+
#ifndef MBEDTLS_CONFIG_H
32+
#define MBEDTLS_CONFIG_H
33+
34+
/* System support */
35+
#define MBEDTLS_PLATFORM_C
36+
#define MBEDTLS_PLATFORM_MEMORY
37+
#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
38+
#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
39+
#define MBEDTLS_PLATFORM_EXIT_ALT
40+
#define MBEDTLS_NO_PLATFORM_ENTROPY
41+
#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
42+
#define MBEDTLS_PLATFORM_PRINTF_ALT
43+
44+
#if defined(CONFIG_MBEDTLS_TEST)
45+
#define MBEDTLS_SELF_TEST
46+
#define MBEDTLS_DEBUG_C
47+
#else
48+
#define MBEDTLS_ENTROPY_C
49+
#endif
50+
51+
52+
/* mbed TLS feature support */
53+
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
54+
#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
55+
#define MBEDTLS_SSL_PROTO_TLS1_2
56+
#define MBEDTLS_SSL_PROTO_DTLS
57+
#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
58+
#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
59+
60+
61+
/* mbed TLS modules */
62+
#define MBEDTLS_AES_C
63+
#define MBEDTLS_CCM_C
64+
#define MBEDTLS_CIPHER_C
65+
#define MBEDTLS_CTR_DRBG_C
66+
#define MBEDTLS_ENTROPY_C
67+
#define MBEDTLS_MD_C
68+
#define MBEDTLS_SHA256_C
69+
#define MBEDTLS_SSL_COOKIE_C
70+
#define MBEDTLS_SSL_CLI_C
71+
#define MBEDTLS_SSL_SRV_C
72+
#define MBEDTLS_SSL_TLS_C
73+
74+
/* Save RAM at the expense of ROM */
75+
#define MBEDTLS_AES_ROM_TABLES
76+
77+
/* Save some RAM by adjusting to your exact needs */
78+
#define MBEDTLS_PSK_MAX_LEN 16 /* 128-bits keys are generally enough */
79+
80+
/*
81+
* You should adjust this to the exact number of sources you're using: default
82+
* is the "platform_entropy_poll" source, but you may want to add other ones
83+
* Minimum is 2 for the entropy test suite.
84+
*/
85+
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
86+
87+
/*
88+
* Use only CCM_8 ciphersuites, and
89+
* save ROM and a few bytes of RAM by specifying our own ciphersuite list
90+
*/
91+
#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8
92+
93+
/*
94+
* Allow to save RAM at the expense of interoperability: do this only if you
95+
* control both ends of the connection! (See comments in "mbedtls/ssl.h".)
96+
* The optimal size here depends on the typical size of records.
97+
*/
98+
#define MBEDTLS_SSL_MAX_CONTENT_LEN CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN
99+
100+
#include "mbedtls/check_config.h"
101+
102+
#endif /* MBEDTLS_CONFIG_H */
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/*
2+
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
3+
* Copyright (c) 2017 Intel Corporation.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*
7+
* Minimal configuration for DTLS 1.2 for Zephyr with PSK and AES-CCM
8+
* ciphersuites.
9+
*
10+
* See README.txt for usage instructions.
11+
*/
12+
#ifndef MBEDTLS_CONFIG_H
13+
#define MBEDTLS_CONFIG_H
14+
15+
/* System support */
16+
#define MBEDTLS_PLATFORM_C
17+
#define MBEDTLS_PLATFORM_MEMORY
18+
#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
19+
#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
20+
#define MBEDTLS_PLATFORM_EXIT_ALT
21+
#define MBEDTLS_NO_PLATFORM_ENTROPY
22+
#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
23+
#define MBEDTLS_PLATFORM_PRINTF_ALT
24+
25+
#if defined(CONFIG_MBEDTLS_TEST)
26+
#define MBEDTLS_SELF_TEST
27+
#define MBEDTLS_DEBUG_C
28+
#else
29+
#define MBEDTLS_ENTROPY_C
30+
#endif
31+
32+
/* mbed TLS feature support */
33+
#define MBEDTLS_CIPHER_MODE_CBC
34+
#define MBEDTLS_PKCS1_V15
35+
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
36+
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
37+
#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
38+
#define MBEDTLS_SSL_PROTO_TLS1_2
39+
#define MBEDTLS_SSL_PROTO_DTLS
40+
#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
41+
#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
42+
43+
/* mbed TLS modules */
44+
#define MBEDTLS_AES_C
45+
#define MBEDTLS_ASN1_PARSE_C
46+
#define MBEDTLS_ASN1_WRITE_C
47+
#define MBEDTLS_BIGNUM_C
48+
#define MBEDTLS_CIPHER_C
49+
#define MBEDTLS_CTR_DRBG_C
50+
#define MBEDTLS_DES_C
51+
#define MBEDTLS_ENTROPY_C
52+
#define MBEDTLS_MD_C
53+
#define MBEDTLS_MD5_C
54+
#define MBEDTLS_OID_C
55+
#define MBEDTLS_RSA_C
56+
#define MBEDTLS_PK_C
57+
#define MBEDTLS_PK_PARSE_C
58+
#define MBEDTLS_SHA1_C
59+
#define MBEDTLS_SHA256_C
60+
#define MBEDTLS_SSL_CLI_C
61+
#define MBEDTLS_SSL_SRV_C
62+
#define MBEDTLS_SSL_TLS_C
63+
#define MBEDTLS_X509_CRT_PARSE_C
64+
#define MBEDTLS_X509_USE_C
65+
#define MBEDTLS_CCM_C
66+
#define MBEDTLS_SSL_COOKIE_C
67+
68+
/* For test certificates */
69+
#define MBEDTLS_BASE64_C
70+
#define MBEDTLS_CERTS_C
71+
72+
#if defined(CONFIG_MBEDTLS_DEBUG)
73+
#define MBEDTLS_ERROR_C
74+
#define MBEDTLS_DEBUG_C
75+
#define MBEDTLS_SSL_DEBUG_ALL
76+
#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
77+
#endif
78+
79+
#define MBEDTLS_SSL_MAX_CONTENT_LEN 1500
80+
81+
#include "mbedtls/check_config.h"
82+
83+
#endif /* MBEDTLS_CONFIG_H */

0 commit comments

Comments
 (0)