3
3
*
4
4
* The MIT License (MIT)
5
5
*
6
- * Copyright (c) 2018-2022 Damien P. George
6
+ * Copyright (c) 2018-2019 Damien P. George
7
7
*
8
8
* Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
* of this software and associated documentation files (the "Software"), to deal
23
23
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
24
* THE SOFTWARE.
25
25
*/
26
- #ifndef MICROPY_INCLUDED_MBEDTLS_CONFIG_COMMON_H
27
- #define MICROPY_INCLUDED_MBEDTLS_CONFIG_COMMON_H
26
+ #ifndef MICROPY_INCLUDED_MBEDTLS_CONFIG_H
27
+ #define MICROPY_INCLUDED_MBEDTLS_CONFIG_H
28
28
29
29
// If you want to debug MBEDTLS uncomment the following and
30
- // pass "3" to mbedtls_debug_set_threshold in socket_new.
30
+ // Pass 3 to mbedtls_debug_set_threshold in socket_new
31
31
// #define MBEDTLS_DEBUG_C
32
32
33
- // Set mbedtls configuration.
34
- #define MBEDTLS_HAVE_TIME
35
- #define MBEDTLS_HAVE_TIME_DATE
33
+ // Set mbedtls configuration
34
+ #define MBEDTLS_PLATFORM_MEMORY
35
+ #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
36
36
#define MBEDTLS_DEPRECATED_REMOVED
37
+ #define MBEDTLS_ENTROPY_HARDWARE_ALT
37
38
#define MBEDTLS_AES_ROM_TABLES
38
39
#define MBEDTLS_CIPHER_MODE_CBC
39
40
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
44
45
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
45
46
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
46
47
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
47
- #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
48
+ #define MBEDTLS_ECP_DP_BP256R1_ENABLED
49
+ #define MBEDTLS_ECP_DP_BP384R1_ENABLED
50
+ #define MBEDTLS_ECP_DP_BP512R1_ENABLED
51
+ #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
52
+ #define MBEDTLS_ECP_NIST_OPTIM
53
+ #define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
54
+ #define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
55
+ #define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
48
56
#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
49
- #define MBEDTLS_CAN_ECDH
50
- #define MBEDTLS_PK_CAN_ECDSA_SIGN
57
+ #define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
58
+ #define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
59
+ #define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
60
+ #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
61
+ #define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
62
+ #define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
63
+ #define MBEDTLS_NO_PLATFORM_ENTROPY
51
64
#define MBEDTLS_PKCS1_V15
52
65
#define MBEDTLS_SHA256_SMALLER
53
66
#define MBEDTLS_SSL_PROTO_TLS1
54
67
#define MBEDTLS_SSL_PROTO_TLS1_1
55
68
#define MBEDTLS_SSL_PROTO_TLS1_2
56
69
#define MBEDTLS_SSL_SERVER_NAME_INDICATION
57
70
58
- // Use a smaller output buffer to reduce size of SSL context.
71
+ // Use a smaller output buffer to reduce size of SSL context
59
72
#define MBEDTLS_SSL_MAX_CONTENT_LEN (16384)
60
73
#define MBEDTLS_SSL_IN_CONTENT_LEN (MBEDTLS_SSL_MAX_CONTENT_LEN)
61
74
#define MBEDTLS_SSL_OUT_CONTENT_LEN (4096)
62
75
63
- // Enable mbedtls modules.
76
+ // Enable mbedtls modules
64
77
#define MBEDTLS_AES_C
65
78
#define MBEDTLS_ASN1_PARSE_C
66
79
#define MBEDTLS_ASN1_WRITE_C
80
+ #define MBEDTLS_BASE64_C
67
81
#define MBEDTLS_BIGNUM_C
68
82
#define MBEDTLS_CIPHER_C
69
83
#define MBEDTLS_CTR_DRBG_C
72
86
#define MBEDTLS_ECP_C
73
87
#define MBEDTLS_ENTROPY_C
74
88
#define MBEDTLS_ERROR_C
89
+ #define MBEDTLS_GCM_C
75
90
#define MBEDTLS_MD_C
76
91
#define MBEDTLS_MD5_C
77
92
#define MBEDTLS_OID_C
78
93
#define MBEDTLS_PKCS5_C
94
+ #define MBEDTLS_PEM_PARSE_C
79
95
#define MBEDTLS_PK_C
80
96
#define MBEDTLS_PK_PARSE_C
81
97
#define MBEDTLS_PLATFORM_C
82
98
#define MBEDTLS_RSA_C
83
99
#define MBEDTLS_SHA1_C
84
- #define MBEDTLS_SHA224_C
85
100
#define MBEDTLS_SHA256_C
86
- #define MBEDTLS_SHA384_C
87
101
#define MBEDTLS_SHA512_C
88
102
#define MBEDTLS_SSL_CLI_C
89
103
#define MBEDTLS_SSL_SRV_C
90
104
#define MBEDTLS_SSL_TLS_C
105
+ #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE
91
106
#define MBEDTLS_X509_CRT_PARSE_C
92
107
#define MBEDTLS_X509_USE_C
108
+ #define MBEDTLS_HAVE_TIME
109
+ #define MBEDTLS_DHM_C // needed by DHE_PSK
110
+ #undef MBEDTLS_HAVE_TIME_DATE
93
111
94
- // A port may enable this option to select additional bare-metal configuration.
95
- #if MICROPY_MBEDTLS_CONFIG_BARE_METAL
96
-
97
- // Bare-metal mbedtls configuration.
98
- #define MBEDTLS_PLATFORM_MEMORY
99
- #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
100
- #define MBEDTLS_ENTROPY_HARDWARE_ALT
101
- #define MBEDTLS_NO_PLATFORM_ENTROPY
102
-
103
- // Bare-metal memory allocation hooks.
112
+ // Memory allocation hooks
104
113
#include <stdlib.h>
105
114
#include <stdio.h>
106
115
void * m_tracked_calloc (size_t nmemb , size_t size );
@@ -109,6 +118,11 @@ void m_tracked_free(void *ptr);
109
118
#define MBEDTLS_PLATFORM_STD_FREE m_tracked_free
110
119
#define MBEDTLS_PLATFORM_SNPRINTF_MACRO snprintf
111
120
112
- #endif
121
+ // Time hook
122
+ #include <time.h>
123
+ time_t rp2_rtctime_seconds (time_t * timer );
124
+ #define MBEDTLS_PLATFORM_TIME_MACRO rp2_rtctime_seconds
125
+
126
+ #include "mbedtls/check_config.h"
113
127
114
- #endif // MICROPY_INCLUDED_MBEDTLS_CONFIG_COMMON_H
128
+ #endif /* MICROPY_INCLUDED_MBEDTLS_CONFIG_H */
0 commit comments