Skip to content

Commit 545185d

Browse files
Create a common mbedtls_config.h (#475)
1 parent cac4498 commit 545185d

File tree

3 files changed

+78
-67
lines changed

3 files changed

+78
-67
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#ifndef MBEDTLS_CONFIG_EXAMPLES_COMMON_H
2+
#define MBEDTLS_CONFIG_EXAMPLES_COMMON_H
3+
4+
/* Workaround for some mbedtls source files using INT_MAX without including limits.h */
5+
#include <limits.h>
6+
7+
#define MBEDTLS_NO_PLATFORM_ENTROPY
8+
#define MBEDTLS_ENTROPY_HARDWARE_ALT
9+
10+
#define MBEDTLS_SSL_OUT_CONTENT_LEN 2048
11+
12+
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
13+
#define MBEDTLS_HAVE_TIME
14+
15+
#define MBEDTLS_CIPHER_MODE_CBC
16+
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
17+
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
18+
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
19+
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
20+
#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
21+
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
22+
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
23+
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
24+
#define MBEDTLS_ECP_DP_BP256R1_ENABLED
25+
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
26+
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
27+
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
28+
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
29+
#define MBEDTLS_PKCS1_V15
30+
#define MBEDTLS_SHA256_SMALLER
31+
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
32+
#define MBEDTLS_AES_C
33+
#define MBEDTLS_ASN1_PARSE_C
34+
#define MBEDTLS_BIGNUM_C
35+
#define MBEDTLS_CIPHER_C
36+
#define MBEDTLS_CTR_DRBG_C
37+
#define MBEDTLS_ENTROPY_C
38+
#define MBEDTLS_ERROR_C
39+
#define MBEDTLS_MD_C
40+
#define MBEDTLS_MD5_C
41+
#define MBEDTLS_OID_C
42+
#define MBEDTLS_PKCS5_C
43+
#define MBEDTLS_PK_C
44+
#define MBEDTLS_PK_PARSE_C
45+
#define MBEDTLS_PLATFORM_C
46+
#define MBEDTLS_RSA_C
47+
#define MBEDTLS_SHA1_C
48+
#define MBEDTLS_SHA224_C
49+
#define MBEDTLS_SHA256_C
50+
#define MBEDTLS_SHA512_C
51+
#define MBEDTLS_SSL_CLI_C
52+
#define MBEDTLS_SSL_SRV_C
53+
#define MBEDTLS_SSL_TLS_C
54+
#define MBEDTLS_X509_CRT_PARSE_C
55+
#define MBEDTLS_X509_USE_C
56+
#define MBEDTLS_AES_FEWER_TABLES
57+
58+
/* TLS 1.2 */
59+
#define MBEDTLS_SSL_PROTO_TLS1_2
60+
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
61+
#define MBEDTLS_GCM_C
62+
#define MBEDTLS_ECDH_C
63+
#define MBEDTLS_ECP_C
64+
#define MBEDTLS_ECDSA_C
65+
#define MBEDTLS_ASN1_WRITE_C
66+
67+
// The following is needed to parse a certificate
68+
#define MBEDTLS_PEM_PARSE_C
69+
#define MBEDTLS_BASE64_C
70+
71+
#endif

pico_w/wifi/tls_client/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ target_compile_definitions(picow_tls_client_background PRIVATE
88
)
99
target_include_directories(picow_tls_client_background PRIVATE
1010
${CMAKE_CURRENT_LIST_DIR}
11-
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts
11+
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts and mbedtls_config.h
1212
)
1313
target_link_libraries(picow_tls_client_background
1414
pico_cyw43_arch_lwip_threadsafe_background
@@ -28,7 +28,7 @@ target_compile_definitions(picow_tls_client_poll PRIVATE
2828
)
2929
target_include_directories(picow_tls_client_poll PRIVATE
3030
${CMAKE_CURRENT_LIST_DIR}
31-
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts
31+
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts and mbedtls_config.h
3232
)
3333
target_link_libraries(picow_tls_client_poll
3434
pico_cyw43_arch_lwip_poll
@@ -52,7 +52,7 @@ target_compile_definitions(picow_tls_verify_background PRIVATE
5252
)
5353
target_include_directories(picow_tls_verify_background PRIVATE
5454
${CMAKE_CURRENT_LIST_DIR}
55-
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts
55+
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts and mbedtls_config.h
5656
)
5757
target_link_libraries(picow_tls_verify_background
5858
pico_cyw43_arch_lwip_threadsafe_background
Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,6 @@
1-
/* Workaround for some mbedtls source files using INT_MAX without including limits.h */
2-
#include <limits.h>
1+
#ifndef MBEDTLS_CONFIG_TLS_CLIENT_H
2+
#define MBEDTLS_CONFIG_TLS_CLIENT_H
33

4-
#define MBEDTLS_NO_PLATFORM_ENTROPY
5-
#define MBEDTLS_ENTROPY_HARDWARE_ALT
4+
#include "mbedtls_config_examples_common.h"
65

7-
#define MBEDTLS_SSL_OUT_CONTENT_LEN 2048
8-
9-
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
10-
#define MBEDTLS_HAVE_TIME
11-
12-
#define MBEDTLS_CIPHER_MODE_CBC
13-
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
14-
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
15-
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
16-
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
17-
#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
18-
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
19-
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
20-
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
21-
#define MBEDTLS_ECP_DP_BP256R1_ENABLED
22-
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
23-
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
24-
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
25-
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
26-
#define MBEDTLS_PKCS1_V15
27-
#define MBEDTLS_SHA256_SMALLER
28-
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
29-
#define MBEDTLS_AES_C
30-
#define MBEDTLS_ASN1_PARSE_C
31-
#define MBEDTLS_BIGNUM_C
32-
#define MBEDTLS_CIPHER_C
33-
#define MBEDTLS_CTR_DRBG_C
34-
#define MBEDTLS_ENTROPY_C
35-
#define MBEDTLS_ERROR_C
36-
#define MBEDTLS_MD_C
37-
#define MBEDTLS_MD5_C
38-
#define MBEDTLS_OID_C
39-
#define MBEDTLS_PKCS5_C
40-
#define MBEDTLS_PK_C
41-
#define MBEDTLS_PK_PARSE_C
42-
#define MBEDTLS_PLATFORM_C
43-
#define MBEDTLS_RSA_C
44-
#define MBEDTLS_SHA1_C
45-
#define MBEDTLS_SHA224_C
46-
#define MBEDTLS_SHA256_C
47-
#define MBEDTLS_SHA512_C
48-
#define MBEDTLS_SSL_CLI_C
49-
#define MBEDTLS_SSL_SRV_C
50-
#define MBEDTLS_SSL_TLS_C
51-
#define MBEDTLS_X509_CRT_PARSE_C
52-
#define MBEDTLS_X509_USE_C
53-
#define MBEDTLS_AES_FEWER_TABLES
54-
55-
/* TLS 1.2 */
56-
#define MBEDTLS_SSL_PROTO_TLS1_2
57-
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
58-
#define MBEDTLS_GCM_C
59-
#define MBEDTLS_ECDH_C
60-
#define MBEDTLS_ECP_C
61-
#define MBEDTLS_ECDSA_C
62-
#define MBEDTLS_ASN1_WRITE_C
63-
64-
// The following is needed to parse a certificate
65-
#define MBEDTLS_PEM_PARSE_C
66-
#define MBEDTLS_BASE64_C
6+
#endif

0 commit comments

Comments
 (0)