This is a simple mbed client example demonstrating, registration of a device with mbed Device Connector and reading and writing values as well as deregistering on different Network Interfaces including Ethernet, WiFi, 6LoWPAN ND and Thread respectively.

Fork of mbed-os-example-client by mbed-os-examples

Committer:
mbed_official
Date:
Fri Oct 28 12:00:11 2016 +0100
Revision:
25:32b45b3e4d12
Parent:
24:5db6419ee4be
Merge pull request #96 from ARMmbed/mbedTLS_cleanup

Cleanup of mbedTLS config
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-client

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 24:5db6419ee4be 1 /**
mbed_official 5:b7d7ca715fdb 2 * Minimal configuration for using mbedtls as part of mbed-client
mbed_official 5:b7d7ca715fdb 3 *
mbed_official 24:5db6419ee4be 4 * NOTE! This is an optimized, minimal configuration for mbed Client.
mbed_official 24:5db6419ee4be 5 * We know it works with mbed Client but if you want to add more
mbed_official 24:5db6419ee4be 6 * services/communications to the application yourself - please ensure
mbed_official 24:5db6419ee4be 7 * you update this configuration accordingly. The default configuration
mbed_official 24:5db6419ee4be 8 * can be found from mbedTLS Github:
mbed_official 24:5db6419ee4be 9 *
mbed_official 24:5db6419ee4be 10 * https://github.com/ARMmbed/mbedtls/blob/development/include/mbedtls/config.h
mbed_official 24:5db6419ee4be 11 *
mbed_official 24:5db6419ee4be 12 *
mbed_official 5:b7d7ca715fdb 13 * Copyright (C) 2006-2016, ARM Limited, All Rights Reserved
mbed_official 5:b7d7ca715fdb 14 * SPDX-License-Identifier: Apache-2.0
mbed_official 5:b7d7ca715fdb 15 *
mbed_official 5:b7d7ca715fdb 16 * Licensed under the Apache License, Version 2.0 (the "License"); you may
mbed_official 5:b7d7ca715fdb 17 * not use this file except in compliance with the License.
mbed_official 5:b7d7ca715fdb 18 * You may obtain a copy of the License at
mbed_official 5:b7d7ca715fdb 19 *
mbed_official 5:b7d7ca715fdb 20 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 5:b7d7ca715fdb 21 *
mbed_official 5:b7d7ca715fdb 22 * Unless required by applicable law or agreed to in writing, software
mbed_official 5:b7d7ca715fdb 23 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
mbed_official 5:b7d7ca715fdb 24 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 5:b7d7ca715fdb 25 * See the License for the specific language governing permissions and
mbed_official 5:b7d7ca715fdb 26 * limitations under the License.
mbed_official 5:b7d7ca715fdb 27 *
mbed_official 5:b7d7ca715fdb 28 * This file is part of mbed TLS (https://tls.mbed.org)
mbed_official 5:b7d7ca715fdb 29 */
mbed_official 5:b7d7ca715fdb 30
mbed_official 5:b7d7ca715fdb 31
mbed_official 5:b7d7ca715fdb 32 #ifndef MBEDTLS_CUSTOM_CONFIG_H
mbed_official 5:b7d7ca715fdb 33 #define MBEDTLS_CUSTOM_CONFIG_H
mbed_official 5:b7d7ca715fdb 34
mbed_official 5:b7d7ca715fdb 35 /* System support */
mbed_official 5:b7d7ca715fdb 36 #define MBEDTLS_HAVE_ASM
mbed_official 5:b7d7ca715fdb 37
mbed_official 5:b7d7ca715fdb 38 /* mbed TLS feature support */
mbed_official 5:b7d7ca715fdb 39 #define MBEDTLS_ECP_DP_SECP256R1_ENABLED
mbed_official 5:b7d7ca715fdb 40 #define MBEDTLS_ECP_NIST_OPTIM
mbed_official 5:b7d7ca715fdb 41 #define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
mbed_official 5:b7d7ca715fdb 42 #define MBEDTLS_SSL_PROTO_TLS1_2
mbed_official 5:b7d7ca715fdb 43 #define MBEDTLS_SSL_PROTO_DTLS
mbed_official 5:b7d7ca715fdb 44 #define MBEDTLS_SSL_DTLS_ANTI_REPLAY
mbed_official 5:b7d7ca715fdb 45 #define MBEDTLS_SSL_DTLS_HELLO_VERIFY
mbed_official 5:b7d7ca715fdb 46 #define MBEDTLS_SSL_EXPORT_KEYS
mbed_official 5:b7d7ca715fdb 47
mbed_official 5:b7d7ca715fdb 48 /* mbed TLS modules */
mbed_official 5:b7d7ca715fdb 49 #define MBEDTLS_AES_C
mbed_official 5:b7d7ca715fdb 50 #define MBEDTLS_ASN1_PARSE_C
mbed_official 5:b7d7ca715fdb 51 #define MBEDTLS_ASN1_WRITE_C
mbed_official 5:b7d7ca715fdb 52 #define MBEDTLS_BIGNUM_C
mbed_official 5:b7d7ca715fdb 53 #define MBEDTLS_CIPHER_C
mbed_official 5:b7d7ca715fdb 54 #define MBEDTLS_CTR_DRBG_C
mbed_official 5:b7d7ca715fdb 55 #define MBEDTLS_ECP_C
mbed_official 5:b7d7ca715fdb 56 #define MBEDTLS_ENTROPY_C
mbed_official 5:b7d7ca715fdb 57 #define MBEDTLS_MD_C
mbed_official 5:b7d7ca715fdb 58 #define MBEDTLS_OID_C
mbed_official 5:b7d7ca715fdb 59 #define MBEDTLS_PK_C
mbed_official 5:b7d7ca715fdb 60 #define MBEDTLS_PK_PARSE_C
mbed_official 5:b7d7ca715fdb 61 #define MBEDTLS_SHA256_C
mbed_official 5:b7d7ca715fdb 62 #define MBEDTLS_SSL_COOKIE_C
mbed_official 5:b7d7ca715fdb 63 #define MBEDTLS_SSL_CLI_C
mbed_official 5:b7d7ca715fdb 64 #define MBEDTLS_SSL_SRV_C
mbed_official 5:b7d7ca715fdb 65 #define MBEDTLS_SSL_TLS_C
mbed_official 5:b7d7ca715fdb 66
mbed_official 5:b7d7ca715fdb 67 // XXX mbedclient needs these: mbedtls_x509_crt_free, mbedtls_x509_crt_init, mbedtls_x509_crt_parse
mbed_official 5:b7d7ca715fdb 68 #define MBEDTLS_X509_USE_C
mbed_official 5:b7d7ca715fdb 69 #define MBEDTLS_X509_CRT_PARSE_C
mbed_official 5:b7d7ca715fdb 70
mbed_official 5:b7d7ca715fdb 71 // XXX: clean these up!!
mbed_official 5:b7d7ca715fdb 72 #define MBEDTLS_SHA512_C
mbed_official 5:b7d7ca715fdb 73 #define MBEDTLS_ECDH_C
mbed_official 5:b7d7ca715fdb 74 #define MBEDTLS_GCM_C
mbed_official 5:b7d7ca715fdb 75
mbed_official 5:b7d7ca715fdb 76 #define MBEDTLS_ECDH_C
mbed_official 5:b7d7ca715fdb 77 #define MBEDTLS_ECDSA_C
mbed_official 5:b7d7ca715fdb 78 #define MBEDTLS_X509_CRT_PARSE_C
mbed_official 5:b7d7ca715fdb 79
mbed_official 5:b7d7ca715fdb 80 // Remove RSA, save 20KB at total
mbed_official 5:b7d7ca715fdb 81 #undef MBEDTLS_RSA_C
mbed_official 5:b7d7ca715fdb 82 #undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
mbed_official 5:b7d7ca715fdb 83
mbed_official 5:b7d7ca715fdb 84 // Remove error messages, save 10KB of ROM
mbed_official 5:b7d7ca715fdb 85 #undef MBEDTLS_ERROR_C
mbed_official 5:b7d7ca715fdb 86
mbed_official 5:b7d7ca715fdb 87 // Remove selftesting and save 11KB of ROM
mbed_official 5:b7d7ca715fdb 88 #undef MBEDTLS_SELF_TEST
mbed_official 5:b7d7ca715fdb 89
mbed_official 5:b7d7ca715fdb 90 // Reduces ROM size by 30 kB
mbed_official 5:b7d7ca715fdb 91 #undef MBEDTLS_ERROR_STRERROR_DUMMY
mbed_official 5:b7d7ca715fdb 92 #undef MBEDTLS_VERSION_FEATURES
mbed_official 5:b7d7ca715fdb 93 #undef MBEDTLS_DEBUG_C
mbed_official 5:b7d7ca715fdb 94
mbed_official 5:b7d7ca715fdb 95 // needed for parsing the certificates
mbed_official 5:b7d7ca715fdb 96 #define MBEDTLS_PEM_PARSE_C
mbed_official 5:b7d7ca715fdb 97 // dep of the previous
mbed_official 5:b7d7ca715fdb 98 #define MBEDTLS_BASE64_C
mbed_official 5:b7d7ca715fdb 99
mbed_official 24:5db6419ee4be 100 // Reduce IO buffer to save RAM, default is 16KB
mbed_official 5:b7d7ca715fdb 101 #define MBEDTLS_SSL_MAX_CONTENT_LEN 2048
mbed_official 5:b7d7ca715fdb 102
mbed_official 5:b7d7ca715fdb 103 // define to save 8KB RAM at the expense of ROM
mbed_official 5:b7d7ca715fdb 104 #undef MBEDTLS_AES_ROM_TABLES
mbed_official 5:b7d7ca715fdb 105
mbed_official 5:b7d7ca715fdb 106 // Save ROM and a few bytes of RAM by specifying our own ciphersuite list
mbed_official 5:b7d7ca715fdb 107 #define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
mbed_official 5:b7d7ca715fdb 108
mbed_official 5:b7d7ca715fdb 109 #include "mbedtls/check_config.h"
mbed_official 5:b7d7ca715fdb 110
mbed_official 5:b7d7ca715fdb 111 #endif /* MBEDTLS_CUSTOM_CONFIG_H */