Example program to test AES-GCM functionality. Used for a workshop

Dependencies:   mbed

Committer:
HannesTschofenig
Date:
Thu Sep 27 06:34:22 2018 +0000
Revision:
0:796d0f61a05b
Example AES-GCM test program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
HannesTschofenig 0:796d0f61a05b 1 /**
HannesTschofenig 0:796d0f61a05b 2 * \file config.h
HannesTschofenig 0:796d0f61a05b 3 *
HannesTschofenig 0:796d0f61a05b 4 * \brief Configuration options (set of defines)
HannesTschofenig 0:796d0f61a05b 5 *
HannesTschofenig 0:796d0f61a05b 6 * Copyright (C) 2006-2014, Brainspark B.V.
HannesTschofenig 0:796d0f61a05b 7 *
HannesTschofenig 0:796d0f61a05b 8 * This file is part of PolarSSL (http://www.polarssl.org)
HannesTschofenig 0:796d0f61a05b 9 * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
HannesTschofenig 0:796d0f61a05b 10 *
HannesTschofenig 0:796d0f61a05b 11 * All rights reserved.
HannesTschofenig 0:796d0f61a05b 12 *
HannesTschofenig 0:796d0f61a05b 13 * This program is free software; you can redistribute it and/or modify
HannesTschofenig 0:796d0f61a05b 14 * it under the terms of the GNU General Public License as published by
HannesTschofenig 0:796d0f61a05b 15 * the Free Software Foundation; either version 2 of the License, or
HannesTschofenig 0:796d0f61a05b 16 * (at your option) any later version.
HannesTschofenig 0:796d0f61a05b 17 *
HannesTschofenig 0:796d0f61a05b 18 * This program is distributed in the hope that it will be useful,
HannesTschofenig 0:796d0f61a05b 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
HannesTschofenig 0:796d0f61a05b 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
HannesTschofenig 0:796d0f61a05b 21 * GNU General Public License for more details.
HannesTschofenig 0:796d0f61a05b 22 *
HannesTschofenig 0:796d0f61a05b 23 * You should have received a copy of the GNU General Public License along
HannesTschofenig 0:796d0f61a05b 24 * with this program; if not, write to the Free Software Foundation, Inc.,
HannesTschofenig 0:796d0f61a05b 25 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
HannesTschofenig 0:796d0f61a05b 26 *
HannesTschofenig 0:796d0f61a05b 27 * This set of compile-time options may be used to enable
HannesTschofenig 0:796d0f61a05b 28 * or disable features selectively, and reduce the global
HannesTschofenig 0:796d0f61a05b 29 * memory footprint.
HannesTschofenig 0:796d0f61a05b 30 */
HannesTschofenig 0:796d0f61a05b 31 #ifndef POLARSSL_CONFIG_H
HannesTschofenig 0:796d0f61a05b 32 #define POLARSSL_CONFIG_H
HannesTschofenig 0:796d0f61a05b 33
HannesTschofenig 0:796d0f61a05b 34 #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
HannesTschofenig 0:796d0f61a05b 35 #define _CRT_SECURE_NO_DEPRECATE 1
HannesTschofenig 0:796d0f61a05b 36 #endif
HannesTschofenig 0:796d0f61a05b 37
HannesTschofenig 0:796d0f61a05b 38 /**
HannesTschofenig 0:796d0f61a05b 39 * \name SECTION: System support
HannesTschofenig 0:796d0f61a05b 40 *
HannesTschofenig 0:796d0f61a05b 41 * This section sets system specific settings.
HannesTschofenig 0:796d0f61a05b 42 * \{
HannesTschofenig 0:796d0f61a05b 43 */
HannesTschofenig 0:796d0f61a05b 44
HannesTschofenig 0:796d0f61a05b 45 /**
HannesTschofenig 0:796d0f61a05b 46 * \def POLARSSL_HAVE_INT8
HannesTschofenig 0:796d0f61a05b 47 *
HannesTschofenig 0:796d0f61a05b 48 * The system uses 8-bit wide native integers.
HannesTschofenig 0:796d0f61a05b 49 *
HannesTschofenig 0:796d0f61a05b 50 * Uncomment if native integers are 8-bit wide.
HannesTschofenig 0:796d0f61a05b 51 */
HannesTschofenig 0:796d0f61a05b 52 //#define POLARSSL_HAVE_INT8
HannesTschofenig 0:796d0f61a05b 53
HannesTschofenig 0:796d0f61a05b 54 /**
HannesTschofenig 0:796d0f61a05b 55 * \def POLARSSL_HAVE_INT16
HannesTschofenig 0:796d0f61a05b 56 *
HannesTschofenig 0:796d0f61a05b 57 * The system uses 16-bit wide native integers.
HannesTschofenig 0:796d0f61a05b 58 *
HannesTschofenig 0:796d0f61a05b 59 * Uncomment if native integers are 16-bit wide.
HannesTschofenig 0:796d0f61a05b 60 */
HannesTschofenig 0:796d0f61a05b 61 //#define POLARSSL_HAVE_INT16
HannesTschofenig 0:796d0f61a05b 62
HannesTschofenig 0:796d0f61a05b 63 /**
HannesTschofenig 0:796d0f61a05b 64 * \def POLARSSL_HAVE_LONGLONG
HannesTschofenig 0:796d0f61a05b 65 *
HannesTschofenig 0:796d0f61a05b 66 * The compiler supports the 'long long' type.
HannesTschofenig 0:796d0f61a05b 67 * (Only used on 32-bit platforms)
HannesTschofenig 0:796d0f61a05b 68 */
HannesTschofenig 0:796d0f61a05b 69 #define POLARSSL_HAVE_LONGLONG
HannesTschofenig 0:796d0f61a05b 70
HannesTschofenig 0:796d0f61a05b 71 /**
HannesTschofenig 0:796d0f61a05b 72 * \def POLARSSL_HAVE_ASM
HannesTschofenig 0:796d0f61a05b 73 *
HannesTschofenig 0:796d0f61a05b 74 * The compiler has support for asm().
HannesTschofenig 0:796d0f61a05b 75 *
HannesTschofenig 0:796d0f61a05b 76 * Requires support for asm() in compiler.
HannesTschofenig 0:796d0f61a05b 77 *
HannesTschofenig 0:796d0f61a05b 78 * Used in:
HannesTschofenig 0:796d0f61a05b 79 * library/timing.c
HannesTschofenig 0:796d0f61a05b 80 * library/padlock.c
HannesTschofenig 0:796d0f61a05b 81 * include/polarssl/bn_mul.h
HannesTschofenig 0:796d0f61a05b 82 *
HannesTschofenig 0:796d0f61a05b 83 * Comment to disable the use of assembly code.
HannesTschofenig 0:796d0f61a05b 84 */
HannesTschofenig 0:796d0f61a05b 85 #define POLARSSL_HAVE_ASM
HannesTschofenig 0:796d0f61a05b 86
HannesTschofenig 0:796d0f61a05b 87 /**
HannesTschofenig 0:796d0f61a05b 88 * \def POLARSSL_HAVE_SSE2
HannesTschofenig 0:796d0f61a05b 89 *
HannesTschofenig 0:796d0f61a05b 90 * CPU supports SSE2 instruction set.
HannesTschofenig 0:796d0f61a05b 91 *
HannesTschofenig 0:796d0f61a05b 92 * Uncomment if the CPU supports SSE2 (IA-32 specific).
HannesTschofenig 0:796d0f61a05b 93 */
HannesTschofenig 0:796d0f61a05b 94 //#define POLARSSL_HAVE_SSE2
HannesTschofenig 0:796d0f61a05b 95
HannesTschofenig 0:796d0f61a05b 96 /**
HannesTschofenig 0:796d0f61a05b 97 * \def POLARSSL_HAVE_TIME
HannesTschofenig 0:796d0f61a05b 98 *
HannesTschofenig 0:796d0f61a05b 99 * System has time.h and time() / localtime() / gettimeofday().
HannesTschofenig 0:796d0f61a05b 100 *
HannesTschofenig 0:796d0f61a05b 101 * Comment if your system does not support time functions
HannesTschofenig 0:796d0f61a05b 102 */
HannesTschofenig 0:796d0f61a05b 103 #define POLARSSL_HAVE_TIME
HannesTschofenig 0:796d0f61a05b 104
HannesTschofenig 0:796d0f61a05b 105 /**
HannesTschofenig 0:796d0f61a05b 106 * \def POLARSSL_HAVE_IPV6
HannesTschofenig 0:796d0f61a05b 107 *
HannesTschofenig 0:796d0f61a05b 108 * System supports the basic socket interface for IPv6 (RFC 3493),
HannesTschofenig 0:796d0f61a05b 109 * specifically getaddrinfo(), freeaddrinfo() and struct sockaddr_storage.
HannesTschofenig 0:796d0f61a05b 110 *
HannesTschofenig 0:796d0f61a05b 111 * Note: on Windows/MingW, XP or higher is required.
HannesTschofenig 0:796d0f61a05b 112 *
HannesTschofenig 0:796d0f61a05b 113 * Comment if your system does not support the IPv6 socket interface
HannesTschofenig 0:796d0f61a05b 114 */
HannesTschofenig 0:796d0f61a05b 115 #define POLARSSL_HAVE_IPV6
HannesTschofenig 0:796d0f61a05b 116
HannesTschofenig 0:796d0f61a05b 117 /**
HannesTschofenig 0:796d0f61a05b 118 * \def POLARSSL_PLATFORM_MEMORY
HannesTschofenig 0:796d0f61a05b 119 *
HannesTschofenig 0:796d0f61a05b 120 * Enable the memory allocation layer.
HannesTschofenig 0:796d0f61a05b 121 *
HannesTschofenig 0:796d0f61a05b 122 * By default PolarSSL uses the system-provided malloc() and free().
HannesTschofenig 0:796d0f61a05b 123 * This allows different allocators (self-implemented or provided) to be
HannesTschofenig 0:796d0f61a05b 124 * provided to the platform abstraction layer.
HannesTschofenig 0:796d0f61a05b 125 *
HannesTschofenig 0:796d0f61a05b 126 * Enabling POLARSSL_PLATFORM_MEMORY will provide "platform_set_malloc_free()"
HannesTschofenig 0:796d0f61a05b 127 * to allow you to set an alternative malloc() and free() function pointer.
HannesTschofenig 0:796d0f61a05b 128 *
HannesTschofenig 0:796d0f61a05b 129 * Requires: POLARSSL_PLATFORM_C
HannesTschofenig 0:796d0f61a05b 130 *
HannesTschofenig 0:796d0f61a05b 131 * Enable this layer to allow use of alternative memory allocators.
HannesTschofenig 0:796d0f61a05b 132 */
HannesTschofenig 0:796d0f61a05b 133 //#define POLARSSL_PLATFORM_MEMORY
HannesTschofenig 0:796d0f61a05b 134
HannesTschofenig 0:796d0f61a05b 135 /**
HannesTschofenig 0:796d0f61a05b 136 * \def POLARSSL_PLATFORM_NO_STD_FUNCTIONS
HannesTschofenig 0:796d0f61a05b 137 *
HannesTschofenig 0:796d0f61a05b 138 * Do not assign standard functions in the platform layer (e.g. malloc() to
HannesTschofenig 0:796d0f61a05b 139 * POLARSSL_PLATFORM_STD_MALLOC and printf() to POLARSSL_PLATFORM_STD_PRINTF)
HannesTschofenig 0:796d0f61a05b 140 *
HannesTschofenig 0:796d0f61a05b 141 * This makes sure there are no linking errors on platforms that do not support
HannesTschofenig 0:796d0f61a05b 142 * these functions. You will HAVE to provide alternatives, either at runtime
HannesTschofenig 0:796d0f61a05b 143 * via the platform_set_xxx() functions or at compile time by setting
HannesTschofenig 0:796d0f61a05b 144 * the POLARSSL_PLATFORM_STD_XXX defines.
HannesTschofenig 0:796d0f61a05b 145 *
HannesTschofenig 0:796d0f61a05b 146 * Requires: POLARSSL_PLATFORM_C
HannesTschofenig 0:796d0f61a05b 147 *
HannesTschofenig 0:796d0f61a05b 148 * Uncomment to prevent default assignment of standard functions in the
HannesTschofenig 0:796d0f61a05b 149 * platform layer.
HannesTschofenig 0:796d0f61a05b 150 */
HannesTschofenig 0:796d0f61a05b 151 //#define POLARSSL_PLATFORM_NO_STD_FUNCTIONS
HannesTschofenig 0:796d0f61a05b 152
HannesTschofenig 0:796d0f61a05b 153 /**
HannesTschofenig 0:796d0f61a05b 154 * \def POLARSSL_PLATFORM_XXX_ALT
HannesTschofenig 0:796d0f61a05b 155 *
HannesTschofenig 0:796d0f61a05b 156 * Uncomment a macro to let PolarSSL support the function in the platform
HannesTschofenig 0:796d0f61a05b 157 * abstraction layer.
HannesTschofenig 0:796d0f61a05b 158 *
HannesTschofenig 0:796d0f61a05b 159 * Example: In case you uncomment POLARSSL_PLATFORM_PRINTF_ALT, PolarSSL will
HannesTschofenig 0:796d0f61a05b 160 * provide a function "platform_set_printf()" that allows you to set an
HannesTschofenig 0:796d0f61a05b 161 * alternative printf function pointer.
HannesTschofenig 0:796d0f61a05b 162 *
HannesTschofenig 0:796d0f61a05b 163 * All these define require POLARSSL_PLATFORM_C to be defined!
HannesTschofenig 0:796d0f61a05b 164 *
HannesTschofenig 0:796d0f61a05b 165 * Uncomment a macro to enable alternate implementation of specific base
HannesTschofenig 0:796d0f61a05b 166 * platform function
HannesTschofenig 0:796d0f61a05b 167 */
HannesTschofenig 0:796d0f61a05b 168 //#define POLARSSL_PLATFORM_PRINTF_ALT
HannesTschofenig 0:796d0f61a05b 169 //#define POLARSSL_PLATFORM_FPRINTF_ALT
HannesTschofenig 0:796d0f61a05b 170 /* \} name SECTION: System support */
HannesTschofenig 0:796d0f61a05b 171
HannesTschofenig 0:796d0f61a05b 172 /**
HannesTschofenig 0:796d0f61a05b 173 * \name SECTION: PolarSSL feature support
HannesTschofenig 0:796d0f61a05b 174 *
HannesTschofenig 0:796d0f61a05b 175 * This section sets support for features that are or are not needed
HannesTschofenig 0:796d0f61a05b 176 * within the modules that are enabled.
HannesTschofenig 0:796d0f61a05b 177 * \{
HannesTschofenig 0:796d0f61a05b 178 */
HannesTschofenig 0:796d0f61a05b 179
HannesTschofenig 0:796d0f61a05b 180 /**
HannesTschofenig 0:796d0f61a05b 181 * \def POLARSSL_TIMING_ALT
HannesTschofenig 0:796d0f61a05b 182 *
HannesTschofenig 0:796d0f61a05b 183 * Uncomment to provide your own alternate implementation for hardclock(),
HannesTschofenig 0:796d0f61a05b 184 * get_timer(), set_alarm() and m_sleep().
HannesTschofenig 0:796d0f61a05b 185 *
HannesTschofenig 0:796d0f61a05b 186 * Only works if you have POLARSSL_TIMING_C enabled.
HannesTschofenig 0:796d0f61a05b 187 *
HannesTschofenig 0:796d0f61a05b 188 * You will need to provide a header "timing_alt.h" and an implementation at
HannesTschofenig 0:796d0f61a05b 189 * compile time.
HannesTschofenig 0:796d0f61a05b 190 */
HannesTschofenig 0:796d0f61a05b 191 //#define POLARSSL_TIMING_ALT
HannesTschofenig 0:796d0f61a05b 192
HannesTschofenig 0:796d0f61a05b 193 /**
HannesTschofenig 0:796d0f61a05b 194 * \def POLARSSL_XXX_ALT
HannesTschofenig 0:796d0f61a05b 195 *
HannesTschofenig 0:796d0f61a05b 196 * Uncomment a macro to let PolarSSL use your alternate core implementation of
HannesTschofenig 0:796d0f61a05b 197 * a symmetric or hash algorithm (e.g. platform specific assembly optimized
HannesTschofenig 0:796d0f61a05b 198 * implementations). Keep in mind that the function prototypes should remain
HannesTschofenig 0:796d0f61a05b 199 * the same.
HannesTschofenig 0:796d0f61a05b 200 *
HannesTschofenig 0:796d0f61a05b 201 * Example: In case you uncomment POLARSSL_AES_ALT, PolarSSL will no longer
HannesTschofenig 0:796d0f61a05b 202 * provide the "struct aes_context" definition and omit the base function
HannesTschofenig 0:796d0f61a05b 203 * declarations and implementations. "aes_alt.h" will be included from
HannesTschofenig 0:796d0f61a05b 204 * "aes.h" to include the new function definitions.
HannesTschofenig 0:796d0f61a05b 205 *
HannesTschofenig 0:796d0f61a05b 206 * Uncomment a macro to enable alternate implementation for core algorithm
HannesTschofenig 0:796d0f61a05b 207 * functions
HannesTschofenig 0:796d0f61a05b 208 */
HannesTschofenig 0:796d0f61a05b 209 //#define POLARSSL_AES_ALT
HannesTschofenig 0:796d0f61a05b 210 //#define POLARSSL_ARC4_ALT
HannesTschofenig 0:796d0f61a05b 211 //#define POLARSSL_BLOWFISH_ALT
HannesTschofenig 0:796d0f61a05b 212 //#define POLARSSL_CAMELLIA_ALT
HannesTschofenig 0:796d0f61a05b 213 //#define POLARSSL_DES_ALT
HannesTschofenig 0:796d0f61a05b 214 //#define POLARSSL_XTEA_ALT
HannesTschofenig 0:796d0f61a05b 215 //#define POLARSSL_MD2_ALT
HannesTschofenig 0:796d0f61a05b 216 //#define POLARSSL_MD4_ALT
HannesTschofenig 0:796d0f61a05b 217 //#define POLARSSL_MD5_ALT
HannesTschofenig 0:796d0f61a05b 218 //#define POLARSSL_RIPEMD160_ALT
HannesTschofenig 0:796d0f61a05b 219 //#define POLARSSL_SHA1_ALT
HannesTschofenig 0:796d0f61a05b 220 //#define POLARSSL_SHA256_ALT
HannesTschofenig 0:796d0f61a05b 221 //#define POLARSSL_SHA512_ALT
HannesTschofenig 0:796d0f61a05b 222
HannesTschofenig 0:796d0f61a05b 223 /**
HannesTschofenig 0:796d0f61a05b 224 * \def POLARSSL_AES_ROM_TABLES
HannesTschofenig 0:796d0f61a05b 225 *
HannesTschofenig 0:796d0f61a05b 226 * Store the AES tables in ROM.
HannesTschofenig 0:796d0f61a05b 227 *
HannesTschofenig 0:796d0f61a05b 228 * Uncomment this macro to store the AES tables in ROM.
HannesTschofenig 0:796d0f61a05b 229 *
HannesTschofenig 0:796d0f61a05b 230 */
HannesTschofenig 0:796d0f61a05b 231 //#define POLARSSL_AES_ROM_TABLES
HannesTschofenig 0:796d0f61a05b 232
HannesTschofenig 0:796d0f61a05b 233 /**
HannesTschofenig 0:796d0f61a05b 234 * \def POLARSSL_CIPHER_MODE_CBC
HannesTschofenig 0:796d0f61a05b 235 *
HannesTschofenig 0:796d0f61a05b 236 * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
HannesTschofenig 0:796d0f61a05b 237 */
HannesTschofenig 0:796d0f61a05b 238 #define POLARSSL_CIPHER_MODE_CBC
HannesTschofenig 0:796d0f61a05b 239
HannesTschofenig 0:796d0f61a05b 240 /**
HannesTschofenig 0:796d0f61a05b 241 * \def POLARSSL_CIPHER_MODE_CFB
HannesTschofenig 0:796d0f61a05b 242 *
HannesTschofenig 0:796d0f61a05b 243 * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
HannesTschofenig 0:796d0f61a05b 244 */
HannesTschofenig 0:796d0f61a05b 245 #define POLARSSL_CIPHER_MODE_CFB
HannesTschofenig 0:796d0f61a05b 246
HannesTschofenig 0:796d0f61a05b 247 /**
HannesTschofenig 0:796d0f61a05b 248 * \def POLARSSL_CIPHER_MODE_CTR
HannesTschofenig 0:796d0f61a05b 249 *
HannesTschofenig 0:796d0f61a05b 250 * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
HannesTschofenig 0:796d0f61a05b 251 */
HannesTschofenig 0:796d0f61a05b 252 #define POLARSSL_CIPHER_MODE_CTR
HannesTschofenig 0:796d0f61a05b 253
HannesTschofenig 0:796d0f61a05b 254 /**
HannesTschofenig 0:796d0f61a05b 255 * \def POLARSSL_CIPHER_NULL_CIPHER
HannesTschofenig 0:796d0f61a05b 256 *
HannesTschofenig 0:796d0f61a05b 257 * Enable NULL cipher.
HannesTschofenig 0:796d0f61a05b 258 * Warning: Only do so when you know what you are doing. This allows for
HannesTschofenig 0:796d0f61a05b 259 * encryption or channels without any security!
HannesTschofenig 0:796d0f61a05b 260 *
HannesTschofenig 0:796d0f61a05b 261 * Requires POLARSSL_ENABLE_WEAK_CIPHERSUITES as well to enable
HannesTschofenig 0:796d0f61a05b 262 * the following ciphersuites:
HannesTschofenig 0:796d0f61a05b 263 * TLS_ECDH_ECDSA_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 264 * TLS_ECDH_RSA_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 265 * TLS_ECDHE_ECDSA_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 266 * TLS_ECDHE_RSA_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 267 * TLS_ECDHE_PSK_WITH_NULL_SHA384
HannesTschofenig 0:796d0f61a05b 268 * TLS_ECDHE_PSK_WITH_NULL_SHA256
HannesTschofenig 0:796d0f61a05b 269 * TLS_ECDHE_PSK_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 270 * TLS_DHE_PSK_WITH_NULL_SHA384
HannesTschofenig 0:796d0f61a05b 271 * TLS_DHE_PSK_WITH_NULL_SHA256
HannesTschofenig 0:796d0f61a05b 272 * TLS_DHE_PSK_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 273 * TLS_RSA_WITH_NULL_SHA256
HannesTschofenig 0:796d0f61a05b 274 * TLS_RSA_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 275 * TLS_RSA_WITH_NULL_MD5
HannesTschofenig 0:796d0f61a05b 276 * TLS_RSA_PSK_WITH_NULL_SHA384
HannesTschofenig 0:796d0f61a05b 277 * TLS_RSA_PSK_WITH_NULL_SHA256
HannesTschofenig 0:796d0f61a05b 278 * TLS_RSA_PSK_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 279 * TLS_PSK_WITH_NULL_SHA384
HannesTschofenig 0:796d0f61a05b 280 * TLS_PSK_WITH_NULL_SHA256
HannesTschofenig 0:796d0f61a05b 281 * TLS_PSK_WITH_NULL_SHA
HannesTschofenig 0:796d0f61a05b 282 *
HannesTschofenig 0:796d0f61a05b 283 * Uncomment this macro to enable the NULL cipher and ciphersuites
HannesTschofenig 0:796d0f61a05b 284 */
HannesTschofenig 0:796d0f61a05b 285 //#define POLARSSL_CIPHER_NULL_CIPHER
HannesTschofenig 0:796d0f61a05b 286
HannesTschofenig 0:796d0f61a05b 287 /**
HannesTschofenig 0:796d0f61a05b 288 * \def POLARSSL_CIPHER_PADDING_XXX
HannesTschofenig 0:796d0f61a05b 289 *
HannesTschofenig 0:796d0f61a05b 290 * Uncomment or comment macros to add support for specific padding modes
HannesTschofenig 0:796d0f61a05b 291 * in the cipher layer with cipher modes that support padding (e.g. CBC)
HannesTschofenig 0:796d0f61a05b 292 *
HannesTschofenig 0:796d0f61a05b 293 * If you disable all padding modes, only full blocks can be used with CBC.
HannesTschofenig 0:796d0f61a05b 294 *
HannesTschofenig 0:796d0f61a05b 295 * Enable padding modes in the cipher layer.
HannesTschofenig 0:796d0f61a05b 296 */
HannesTschofenig 0:796d0f61a05b 297 #define POLARSSL_CIPHER_PADDING_PKCS7
HannesTschofenig 0:796d0f61a05b 298 #define POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS
HannesTschofenig 0:796d0f61a05b 299 #define POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN
HannesTschofenig 0:796d0f61a05b 300 #define POLARSSL_CIPHER_PADDING_ZEROS
HannesTschofenig 0:796d0f61a05b 301
HannesTschofenig 0:796d0f61a05b 302 /**
HannesTschofenig 0:796d0f61a05b 303 * \def POLARSSL_ENABLE_WEAK_CIPHERSUITES
HannesTschofenig 0:796d0f61a05b 304 *
HannesTschofenig 0:796d0f61a05b 305 * Enable weak ciphersuites in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 306 * Warning: Only do so when you know what you are doing. This allows for
HannesTschofenig 0:796d0f61a05b 307 * channels with virtually no security at all!
HannesTschofenig 0:796d0f61a05b 308 *
HannesTschofenig 0:796d0f61a05b 309 * This enables the following ciphersuites:
HannesTschofenig 0:796d0f61a05b 310 * TLS_RSA_WITH_DES_CBC_SHA
HannesTschofenig 0:796d0f61a05b 311 * TLS_DHE_RSA_WITH_DES_CBC_SHA
HannesTschofenig 0:796d0f61a05b 312 *
HannesTschofenig 0:796d0f61a05b 313 * Uncomment this macro to enable weak ciphersuites
HannesTschofenig 0:796d0f61a05b 314 */
HannesTschofenig 0:796d0f61a05b 315 //#define POLARSSL_ENABLE_WEAK_CIPHERSUITES
HannesTschofenig 0:796d0f61a05b 316
HannesTschofenig 0:796d0f61a05b 317 /**
HannesTschofenig 0:796d0f61a05b 318 * \def POLARSSL_ECP_XXXX_ENABLED
HannesTschofenig 0:796d0f61a05b 319 *
HannesTschofenig 0:796d0f61a05b 320 * Enables specific curves within the Elliptic Curve module.
HannesTschofenig 0:796d0f61a05b 321 * By default all supported curves are enabled.
HannesTschofenig 0:796d0f61a05b 322 *
HannesTschofenig 0:796d0f61a05b 323 * Comment macros to disable the curve and functions for it
HannesTschofenig 0:796d0f61a05b 324 */
HannesTschofenig 0:796d0f61a05b 325 #define POLARSSL_ECP_DP_SECP192R1_ENABLED
HannesTschofenig 0:796d0f61a05b 326 #define POLARSSL_ECP_DP_SECP224R1_ENABLED
HannesTschofenig 0:796d0f61a05b 327 #define POLARSSL_ECP_DP_SECP256R1_ENABLED
HannesTschofenig 0:796d0f61a05b 328 #define POLARSSL_ECP_DP_SECP384R1_ENABLED
HannesTschofenig 0:796d0f61a05b 329 #define POLARSSL_ECP_DP_SECP521R1_ENABLED
HannesTschofenig 0:796d0f61a05b 330 #define POLARSSL_ECP_DP_SECP192K1_ENABLED
HannesTschofenig 0:796d0f61a05b 331 #define POLARSSL_ECP_DP_SECP224K1_ENABLED
HannesTschofenig 0:796d0f61a05b 332 #define POLARSSL_ECP_DP_SECP256K1_ENABLED
HannesTschofenig 0:796d0f61a05b 333 #define POLARSSL_ECP_DP_BP256R1_ENABLED
HannesTschofenig 0:796d0f61a05b 334 #define POLARSSL_ECP_DP_BP384R1_ENABLED
HannesTschofenig 0:796d0f61a05b 335 #define POLARSSL_ECP_DP_BP512R1_ENABLED
HannesTschofenig 0:796d0f61a05b 336 //#define POLARSSL_ECP_DP_M221_ENABLED // Not implemented yet!
HannesTschofenig 0:796d0f61a05b 337 #define POLARSSL_ECP_DP_M255_ENABLED
HannesTschofenig 0:796d0f61a05b 338 //#define POLARSSL_ECP_DP_M383_ENABLED // Not implemented yet!
HannesTschofenig 0:796d0f61a05b 339 //#define POLARSSL_ECP_DP_M511_ENABLED // Not implemented yet!
HannesTschofenig 0:796d0f61a05b 340
HannesTschofenig 0:796d0f61a05b 341 /**
HannesTschofenig 0:796d0f61a05b 342 * \def POLARSSL_ECP_NIST_OPTIM
HannesTschofenig 0:796d0f61a05b 343 *
HannesTschofenig 0:796d0f61a05b 344 * Enable specific 'modulo p' routines for each NIST prime.
HannesTschofenig 0:796d0f61a05b 345 * Depending on the prime and architecture, makes operations 4 to 8 times
HannesTschofenig 0:796d0f61a05b 346 * faster on the corresponding curve.
HannesTschofenig 0:796d0f61a05b 347 *
HannesTschofenig 0:796d0f61a05b 348 * Comment this macro to disable NIST curves optimisation.
HannesTschofenig 0:796d0f61a05b 349 */
HannesTschofenig 0:796d0f61a05b 350 #define POLARSSL_ECP_NIST_OPTIM
HannesTschofenig 0:796d0f61a05b 351
HannesTschofenig 0:796d0f61a05b 352 /**
HannesTschofenig 0:796d0f61a05b 353 * \def POLARSSL_ECDSA_DETERMINISTIC
HannesTschofenig 0:796d0f61a05b 354 *
HannesTschofenig 0:796d0f61a05b 355 * Enable deterministic ECDSA (RFC 6979).
HannesTschofenig 0:796d0f61a05b 356 * Standard ECDSA is "fragile" in the sense that lack of entropy when signing
HannesTschofenig 0:796d0f61a05b 357 * may result in a compromise of the long-term signing key. This is avoided by
HannesTschofenig 0:796d0f61a05b 358 * the deterministic variant.
HannesTschofenig 0:796d0f61a05b 359 *
HannesTschofenig 0:796d0f61a05b 360 * Requires: POLARSSL_HMAC_DRBG_C
HannesTschofenig 0:796d0f61a05b 361 *
HannesTschofenig 0:796d0f61a05b 362 * Comment this macro to disable deterministic ECDSA.
HannesTschofenig 0:796d0f61a05b 363 */
HannesTschofenig 0:796d0f61a05b 364 #define POLARSSL_ECDSA_DETERMINISTIC
HannesTschofenig 0:796d0f61a05b 365
HannesTschofenig 0:796d0f61a05b 366 /**
HannesTschofenig 0:796d0f61a05b 367 * \def POLARSSL_KEY_EXCHANGE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 368 *
HannesTschofenig 0:796d0f61a05b 369 * Enable the PSK based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 370 *
HannesTschofenig 0:796d0f61a05b 371 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 372 * enabled as well):
HannesTschofenig 0:796d0f61a05b 373 * TLS_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 374 * TLS_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 375 * TLS_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 376 * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 377 * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 378 * TLS_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 379 * TLS_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 380 * TLS_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 381 * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 382 * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 383 * TLS_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 384 * TLS_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 385 */
HannesTschofenig 0:796d0f61a05b 386 #define POLARSSL_KEY_EXCHANGE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 387
HannesTschofenig 0:796d0f61a05b 388 /**
HannesTschofenig 0:796d0f61a05b 389 * \def POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 390 *
HannesTschofenig 0:796d0f61a05b 391 * Enable the DHE-PSK based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 392 *
HannesTschofenig 0:796d0f61a05b 393 * Requires: POLARSSL_DHM_C
HannesTschofenig 0:796d0f61a05b 394 *
HannesTschofenig 0:796d0f61a05b 395 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 396 * enabled as well):
HannesTschofenig 0:796d0f61a05b 397 * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 398 * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 399 * TLS_DHE_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 400 * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 401 * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 402 * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 403 * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 404 * TLS_DHE_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 405 * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 406 * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 407 * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 408 * TLS_DHE_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 409 */
HannesTschofenig 0:796d0f61a05b 410 #define POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 411
HannesTschofenig 0:796d0f61a05b 412 /**
HannesTschofenig 0:796d0f61a05b 413 * \def POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 414 *
HannesTschofenig 0:796d0f61a05b 415 * Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 416 *
HannesTschofenig 0:796d0f61a05b 417 * Requires: POLARSSL_ECDH_C
HannesTschofenig 0:796d0f61a05b 418 *
HannesTschofenig 0:796d0f61a05b 419 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 420 * enabled as well):
HannesTschofenig 0:796d0f61a05b 421 * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 422 * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 423 * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 424 * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 425 * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 426 * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 427 * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 428 * TLS_ECDHE_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 429 */
HannesTschofenig 0:796d0f61a05b 430 #define POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 431
HannesTschofenig 0:796d0f61a05b 432 /**
HannesTschofenig 0:796d0f61a05b 433 * \def POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 434 *
HannesTschofenig 0:796d0f61a05b 435 * Enable the RSA-PSK based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 436 *
HannesTschofenig 0:796d0f61a05b 437 * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15,
HannesTschofenig 0:796d0f61a05b 438 * POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 439 *
HannesTschofenig 0:796d0f61a05b 440 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 441 * enabled as well):
HannesTschofenig 0:796d0f61a05b 442 * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 443 * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 444 * TLS_RSA_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 445 * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 446 * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 447 * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 448 * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 449 * TLS_RSA_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 450 * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 451 * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 452 * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 453 * TLS_RSA_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 454 */
HannesTschofenig 0:796d0f61a05b 455 #define POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED
HannesTschofenig 0:796d0f61a05b 456
HannesTschofenig 0:796d0f61a05b 457 /**
HannesTschofenig 0:796d0f61a05b 458 * \def POLARSSL_KEY_EXCHANGE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 459 *
HannesTschofenig 0:796d0f61a05b 460 * Enable the RSA-only based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 461 *
HannesTschofenig 0:796d0f61a05b 462 * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15,
HannesTschofenig 0:796d0f61a05b 463 * POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 464 *
HannesTschofenig 0:796d0f61a05b 465 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 466 * enabled as well):
HannesTschofenig 0:796d0f61a05b 467 * TLS_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 468 * TLS_RSA_WITH_AES_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 469 * TLS_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 470 * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 471 * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 472 * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 473 * TLS_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 474 * TLS_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 475 * TLS_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 476 * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 477 * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 478 * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 479 * TLS_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 480 * TLS_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 481 * TLS_RSA_WITH_RC4_128_MD5
HannesTschofenig 0:796d0f61a05b 482 */
HannesTschofenig 0:796d0f61a05b 483 #define POLARSSL_KEY_EXCHANGE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 484
HannesTschofenig 0:796d0f61a05b 485 /**
HannesTschofenig 0:796d0f61a05b 486 * \def POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 487 *
HannesTschofenig 0:796d0f61a05b 488 * Enable the DHE-RSA based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 489 *
HannesTschofenig 0:796d0f61a05b 490 * Requires: POLARSSL_DHM_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15,
HannesTschofenig 0:796d0f61a05b 491 * POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 492 *
HannesTschofenig 0:796d0f61a05b 493 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 494 * enabled as well):
HannesTschofenig 0:796d0f61a05b 495 * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 496 * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 497 * TLS_DHE_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 498 * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 499 * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 500 * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 501 * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 502 * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 503 * TLS_DHE_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 504 * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 505 * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 506 * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 507 * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 508 */
HannesTschofenig 0:796d0f61a05b 509 #define POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 510
HannesTschofenig 0:796d0f61a05b 511 /**
HannesTschofenig 0:796d0f61a05b 512 * \def POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 513 *
HannesTschofenig 0:796d0f61a05b 514 * Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 515 *
HannesTschofenig 0:796d0f61a05b 516 * Requires: POLARSSL_ECDH_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15,
HannesTschofenig 0:796d0f61a05b 517 * POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 518 *
HannesTschofenig 0:796d0f61a05b 519 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 520 * enabled as well):
HannesTschofenig 0:796d0f61a05b 521 * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 522 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 523 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 524 * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 525 * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 526 * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 527 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 528 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 529 * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 530 * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 531 * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 532 * TLS_ECDHE_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 533 */
HannesTschofenig 0:796d0f61a05b 534 #define POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 535
HannesTschofenig 0:796d0f61a05b 536 /**
HannesTschofenig 0:796d0f61a05b 537 * \def POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
HannesTschofenig 0:796d0f61a05b 538 *
HannesTschofenig 0:796d0f61a05b 539 * Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 540 *
HannesTschofenig 0:796d0f61a05b 541 * Requires: POLARSSL_ECDH_C, POLARSSL_ECDSA_C, POLARSSL_X509_CRT_PARSE_C,
HannesTschofenig 0:796d0f61a05b 542 *
HannesTschofenig 0:796d0f61a05b 543 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 544 * enabled as well):
HannesTschofenig 0:796d0f61a05b 545 * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 546 * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 547 * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 548 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 549 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 550 * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 551 * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 552 * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 553 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 554 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 555 * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 556 * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 557 */
HannesTschofenig 0:796d0f61a05b 558 #define POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
HannesTschofenig 0:796d0f61a05b 559
HannesTschofenig 0:796d0f61a05b 560 /**
HannesTschofenig 0:796d0f61a05b 561 * \def POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
HannesTschofenig 0:796d0f61a05b 562 *
HannesTschofenig 0:796d0f61a05b 563 * Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 564 *
HannesTschofenig 0:796d0f61a05b 565 * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 566 *
HannesTschofenig 0:796d0f61a05b 567 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 568 * enabled as well):
HannesTschofenig 0:796d0f61a05b 569 * TLS_ECDH_ECDSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 570 * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 571 * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 572 * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 573 * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 574 * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 575 * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 576 * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 577 * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 578 * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 579 * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 580 * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 581 */
HannesTschofenig 0:796d0f61a05b 582 #define POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
HannesTschofenig 0:796d0f61a05b 583
HannesTschofenig 0:796d0f61a05b 584 /**
HannesTschofenig 0:796d0f61a05b 585 * \def POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 586 *
HannesTschofenig 0:796d0f61a05b 587 * Enable the ECDH-RSA based ciphersuite modes in SSL / TLS.
HannesTschofenig 0:796d0f61a05b 588 *
HannesTschofenig 0:796d0f61a05b 589 * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 590 *
HannesTschofenig 0:796d0f61a05b 591 * This enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 592 * enabled as well):
HannesTschofenig 0:796d0f61a05b 593 * TLS_ECDH_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 594 * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 595 * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 596 * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 597 * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 598 * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 599 * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 600 * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 601 * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 602 * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 603 * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 604 * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 605 */
HannesTschofenig 0:796d0f61a05b 606 #define POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED
HannesTschofenig 0:796d0f61a05b 607
HannesTschofenig 0:796d0f61a05b 608 /**
HannesTschofenig 0:796d0f61a05b 609 * \def POLARSSL_PK_PARSE_EC_EXTENDED
HannesTschofenig 0:796d0f61a05b 610 *
HannesTschofenig 0:796d0f61a05b 611 * Enhance support for reading EC keys using variants of SEC1 not allowed by
HannesTschofenig 0:796d0f61a05b 612 * RFC 5915 and RFC 5480.
HannesTschofenig 0:796d0f61a05b 613 *
HannesTschofenig 0:796d0f61a05b 614 * Currently this means parsing the SpecifiedECDomain choice of EC
HannesTschofenig 0:796d0f61a05b 615 * parameters (only known groups are supported, not arbitrary domains, to
HannesTschofenig 0:796d0f61a05b 616 * avoid validation issues).
HannesTschofenig 0:796d0f61a05b 617 *
HannesTschofenig 0:796d0f61a05b 618 * Disable if you only need to support RFC 5915 + 5480 key formats.
HannesTschofenig 0:796d0f61a05b 619 */
HannesTschofenig 0:796d0f61a05b 620 #define POLARSSL_PK_PARSE_EC_EXTENDED
HannesTschofenig 0:796d0f61a05b 621
HannesTschofenig 0:796d0f61a05b 622 /**
HannesTschofenig 0:796d0f61a05b 623 * \def POLARSSL_ERROR_STRERROR_BC
HannesTschofenig 0:796d0f61a05b 624 *
HannesTschofenig 0:796d0f61a05b 625 * Make available the backward compatible error_strerror() next to the
HannesTschofenig 0:796d0f61a05b 626 * current polarssl_strerror().
HannesTschofenig 0:796d0f61a05b 627 *
HannesTschofenig 0:796d0f61a05b 628 * Disable if you run into name conflicts and want to really remove the
HannesTschofenig 0:796d0f61a05b 629 * error_strerror()
HannesTschofenig 0:796d0f61a05b 630 */
HannesTschofenig 0:796d0f61a05b 631 #define POLARSSL_ERROR_STRERROR_BC
HannesTschofenig 0:796d0f61a05b 632
HannesTschofenig 0:796d0f61a05b 633 /**
HannesTschofenig 0:796d0f61a05b 634 * \def POLARSSL_ERROR_STRERROR_DUMMY
HannesTschofenig 0:796d0f61a05b 635 *
HannesTschofenig 0:796d0f61a05b 636 * Enable a dummy error function to make use of polarssl_strerror() in
HannesTschofenig 0:796d0f61a05b 637 * third party libraries easier.
HannesTschofenig 0:796d0f61a05b 638 *
HannesTschofenig 0:796d0f61a05b 639 * Disable if you run into name conflicts and want to really remove the
HannesTschofenig 0:796d0f61a05b 640 * polarssl_strerror()
HannesTschofenig 0:796d0f61a05b 641 */
HannesTschofenig 0:796d0f61a05b 642 #define POLARSSL_ERROR_STRERROR_DUMMY
HannesTschofenig 0:796d0f61a05b 643
HannesTschofenig 0:796d0f61a05b 644 /**
HannesTschofenig 0:796d0f61a05b 645 * \def POLARSSL_GENPRIME
HannesTschofenig 0:796d0f61a05b 646 *
HannesTschofenig 0:796d0f61a05b 647 * Enable the prime-number generation code.
HannesTschofenig 0:796d0f61a05b 648 *
HannesTschofenig 0:796d0f61a05b 649 * Requires: POLARSSL_BIGNUM_C
HannesTschofenig 0:796d0f61a05b 650 */
HannesTschofenig 0:796d0f61a05b 651 #define POLARSSL_GENPRIME
HannesTschofenig 0:796d0f61a05b 652
HannesTschofenig 0:796d0f61a05b 653 /**
HannesTschofenig 0:796d0f61a05b 654 * \def POLARSSL_FS_IO
HannesTschofenig 0:796d0f61a05b 655 *
HannesTschofenig 0:796d0f61a05b 656 * Enable functions that use the filesystem.
HannesTschofenig 0:796d0f61a05b 657 */
HannesTschofenig 0:796d0f61a05b 658 #define POLARSSL_FS_IO
HannesTschofenig 0:796d0f61a05b 659
HannesTschofenig 0:796d0f61a05b 660 /**
HannesTschofenig 0:796d0f61a05b 661 * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
HannesTschofenig 0:796d0f61a05b 662 *
HannesTschofenig 0:796d0f61a05b 663 * Do not add default entropy sources. These are the platform specific,
HannesTschofenig 0:796d0f61a05b 664 * hardclock and HAVEGE based poll functions.
HannesTschofenig 0:796d0f61a05b 665 *
HannesTschofenig 0:796d0f61a05b 666 * This is useful to have more control over the added entropy sources in an
HannesTschofenig 0:796d0f61a05b 667 * application.
HannesTschofenig 0:796d0f61a05b 668 *
HannesTschofenig 0:796d0f61a05b 669 * Uncomment this macro to prevent loading of default entropy functions.
HannesTschofenig 0:796d0f61a05b 670 */
HannesTschofenig 0:796d0f61a05b 671 //#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
HannesTschofenig 0:796d0f61a05b 672
HannesTschofenig 0:796d0f61a05b 673 /**
HannesTschofenig 0:796d0f61a05b 674 * \def POLARSSL_NO_PLATFORM_ENTROPY
HannesTschofenig 0:796d0f61a05b 675 *
HannesTschofenig 0:796d0f61a05b 676 * Do not use built-in platform entropy functions.
HannesTschofenig 0:796d0f61a05b 677 * This is useful if your platform does not support
HannesTschofenig 0:796d0f61a05b 678 * standards like the /dev/urandom or Windows CryptoAPI.
HannesTschofenig 0:796d0f61a05b 679 *
HannesTschofenig 0:796d0f61a05b 680 * Uncomment this macro to disable the built-in platform entropy functions.
HannesTschofenig 0:796d0f61a05b 681 */
HannesTschofenig 0:796d0f61a05b 682 //#define POLARSSL_NO_PLATFORM_ENTROPY
HannesTschofenig 0:796d0f61a05b 683
HannesTschofenig 0:796d0f61a05b 684 /**
HannesTschofenig 0:796d0f61a05b 685 * \def POLARSSL_ENTROPY_FORCE_SHA256
HannesTschofenig 0:796d0f61a05b 686 *
HannesTschofenig 0:796d0f61a05b 687 * Force the entropy accumulator to use a SHA-256 accumulator instead of the
HannesTschofenig 0:796d0f61a05b 688 * default SHA-512 based one (if both are available).
HannesTschofenig 0:796d0f61a05b 689 *
HannesTschofenig 0:796d0f61a05b 690 * Requires: POLARSSL_SHA256_C
HannesTschofenig 0:796d0f61a05b 691 *
HannesTschofenig 0:796d0f61a05b 692 * On 32-bit systems SHA-256 can be much faster than SHA-512. Use this option
HannesTschofenig 0:796d0f61a05b 693 * if you have performance concerns.
HannesTschofenig 0:796d0f61a05b 694 *
HannesTschofenig 0:796d0f61a05b 695 * This option is only useful if both POLARSSL_SHA256_C and
HannesTschofenig 0:796d0f61a05b 696 * POLARSSL_SHA512_C are defined. Otherwise the available hash module is used.
HannesTschofenig 0:796d0f61a05b 697 */
HannesTschofenig 0:796d0f61a05b 698 //#define POLARSSL_ENTROPY_FORCE_SHA256
HannesTschofenig 0:796d0f61a05b 699
HannesTschofenig 0:796d0f61a05b 700 /**
HannesTschofenig 0:796d0f61a05b 701 * \def POLARSSL_MEMORY_DEBUG
HannesTschofenig 0:796d0f61a05b 702 *
HannesTschofenig 0:796d0f61a05b 703 * Enable debugging of buffer allocator memory issues. Automatically prints
HannesTschofenig 0:796d0f61a05b 704 * (to stderr) all (fatal) messages on memory allocation issues. Enables
HannesTschofenig 0:796d0f61a05b 705 * function for 'debug output' of allocated memory.
HannesTschofenig 0:796d0f61a05b 706 *
HannesTschofenig 0:796d0f61a05b 707 * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C
HannesTschofenig 0:796d0f61a05b 708 *
HannesTschofenig 0:796d0f61a05b 709 * Uncomment this macro to let the buffer allocator print out error messages.
HannesTschofenig 0:796d0f61a05b 710 */
HannesTschofenig 0:796d0f61a05b 711 //#define POLARSSL_MEMORY_DEBUG
HannesTschofenig 0:796d0f61a05b 712
HannesTschofenig 0:796d0f61a05b 713 /**
HannesTschofenig 0:796d0f61a05b 714 * \def POLARSSL_MEMORY_BACKTRACE
HannesTschofenig 0:796d0f61a05b 715 *
HannesTschofenig 0:796d0f61a05b 716 * Include backtrace information with each allocated block.
HannesTschofenig 0:796d0f61a05b 717 *
HannesTschofenig 0:796d0f61a05b 718 * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C
HannesTschofenig 0:796d0f61a05b 719 * GLIBC-compatible backtrace() an backtrace_symbols() support
HannesTschofenig 0:796d0f61a05b 720 *
HannesTschofenig 0:796d0f61a05b 721 * Uncomment this macro to include backtrace information
HannesTschofenig 0:796d0f61a05b 722 */
HannesTschofenig 0:796d0f61a05b 723 //#define POLARSSL_MEMORY_BACKTRACE
HannesTschofenig 0:796d0f61a05b 724
HannesTschofenig 0:796d0f61a05b 725 /**
HannesTschofenig 0:796d0f61a05b 726 * \def POLARSSL_PKCS1_V15
HannesTschofenig 0:796d0f61a05b 727 *
HannesTschofenig 0:796d0f61a05b 728 * Enable support for PKCS#1 v1.5 encoding.
HannesTschofenig 0:796d0f61a05b 729 *
HannesTschofenig 0:796d0f61a05b 730 * Requires: POLARSSL_RSA_C
HannesTschofenig 0:796d0f61a05b 731 *
HannesTschofenig 0:796d0f61a05b 732 * This enables support for PKCS#1 v1.5 operations.
HannesTschofenig 0:796d0f61a05b 733 */
HannesTschofenig 0:796d0f61a05b 734 #define POLARSSL_PKCS1_V15
HannesTschofenig 0:796d0f61a05b 735
HannesTschofenig 0:796d0f61a05b 736 /**
HannesTschofenig 0:796d0f61a05b 737 * \def POLARSSL_PKCS1_V21
HannesTschofenig 0:796d0f61a05b 738 *
HannesTschofenig 0:796d0f61a05b 739 * Enable support for PKCS#1 v2.1 encoding.
HannesTschofenig 0:796d0f61a05b 740 *
HannesTschofenig 0:796d0f61a05b 741 * Requires: POLARSSL_MD_C, POLARSSL_RSA_C
HannesTschofenig 0:796d0f61a05b 742 *
HannesTschofenig 0:796d0f61a05b 743 * This enables support for RSAES-OAEP and RSASSA-PSS operations.
HannesTschofenig 0:796d0f61a05b 744 */
HannesTschofenig 0:796d0f61a05b 745 #define POLARSSL_PKCS1_V21
HannesTschofenig 0:796d0f61a05b 746
HannesTschofenig 0:796d0f61a05b 747 /**
HannesTschofenig 0:796d0f61a05b 748 * \def POLARSSL_RSA_NO_CRT
HannesTschofenig 0:796d0f61a05b 749 *
HannesTschofenig 0:796d0f61a05b 750 * Do not use the Chinese Remainder Theorem for the RSA private operation.
HannesTschofenig 0:796d0f61a05b 751 *
HannesTschofenig 0:796d0f61a05b 752 * Uncomment this macro to disable the use of CRT in RSA.
HannesTschofenig 0:796d0f61a05b 753 *
HannesTschofenig 0:796d0f61a05b 754 */
HannesTschofenig 0:796d0f61a05b 755 //#define POLARSSL_RSA_NO_CRT
HannesTschofenig 0:796d0f61a05b 756
HannesTschofenig 0:796d0f61a05b 757 /**
HannesTschofenig 0:796d0f61a05b 758 * \def POLARSSL_SELF_TEST
HannesTschofenig 0:796d0f61a05b 759 *
HannesTschofenig 0:796d0f61a05b 760 * Enable the checkup functions (*_self_test).
HannesTschofenig 0:796d0f61a05b 761 */
HannesTschofenig 0:796d0f61a05b 762 #define POLARSSL_SELF_TEST
HannesTschofenig 0:796d0f61a05b 763
HannesTschofenig 0:796d0f61a05b 764 /**
HannesTschofenig 0:796d0f61a05b 765 * \def POLARSSL_SSL_ALL_ALERT_MESSAGES
HannesTschofenig 0:796d0f61a05b 766 *
HannesTschofenig 0:796d0f61a05b 767 * Enable sending of alert messages in case of encountered errors as per RFC.
HannesTschofenig 0:796d0f61a05b 768 * If you choose not to send the alert messages, PolarSSL can still communicate
HannesTschofenig 0:796d0f61a05b 769 * with other servers, only debugging of failures is harder.
HannesTschofenig 0:796d0f61a05b 770 *
HannesTschofenig 0:796d0f61a05b 771 * The advantage of not sending alert messages, is that no information is given
HannesTschofenig 0:796d0f61a05b 772 * about reasons for failures thus preventing adversaries of gaining intel.
HannesTschofenig 0:796d0f61a05b 773 *
HannesTschofenig 0:796d0f61a05b 774 * Enable sending of all alert messages
HannesTschofenig 0:796d0f61a05b 775 */
HannesTschofenig 0:796d0f61a05b 776 #define POLARSSL_SSL_ALERT_MESSAGES
HannesTschofenig 0:796d0f61a05b 777
HannesTschofenig 0:796d0f61a05b 778 /**
HannesTschofenig 0:796d0f61a05b 779 * \def POLARSSL_SSL_DEBUG_ALL
HannesTschofenig 0:796d0f61a05b 780 *
HannesTschofenig 0:796d0f61a05b 781 * Enable the debug messages in SSL module for all issues.
HannesTschofenig 0:796d0f61a05b 782 * Debug messages have been disabled in some places to prevent timing
HannesTschofenig 0:796d0f61a05b 783 * attacks due to (unbalanced) debugging function calls.
HannesTschofenig 0:796d0f61a05b 784 *
HannesTschofenig 0:796d0f61a05b 785 * If you need all error reporting you should enable this during debugging,
HannesTschofenig 0:796d0f61a05b 786 * but remove this for production servers that should log as well.
HannesTschofenig 0:796d0f61a05b 787 *
HannesTschofenig 0:796d0f61a05b 788 * Uncomment this macro to report all debug messages on errors introducing
HannesTschofenig 0:796d0f61a05b 789 * a timing side-channel.
HannesTschofenig 0:796d0f61a05b 790 *
HannesTschofenig 0:796d0f61a05b 791 */
HannesTschofenig 0:796d0f61a05b 792 //#define POLARSSL_SSL_DEBUG_ALL
HannesTschofenig 0:796d0f61a05b 793
HannesTschofenig 0:796d0f61a05b 794 /**
HannesTschofenig 0:796d0f61a05b 795 * \def POLARSSL_SSL_HW_RECORD_ACCEL
HannesTschofenig 0:796d0f61a05b 796 *
HannesTschofenig 0:796d0f61a05b 797 * Enable hooking functions in SSL module for hardware acceleration of
HannesTschofenig 0:796d0f61a05b 798 * individual records.
HannesTschofenig 0:796d0f61a05b 799 *
HannesTschofenig 0:796d0f61a05b 800 * Uncomment this macro to enable hooking functions.
HannesTschofenig 0:796d0f61a05b 801 */
HannesTschofenig 0:796d0f61a05b 802 //#define POLARSSL_SSL_HW_RECORD_ACCEL
HannesTschofenig 0:796d0f61a05b 803
HannesTschofenig 0:796d0f61a05b 804 /**
HannesTschofenig 0:796d0f61a05b 805 * \def POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
HannesTschofenig 0:796d0f61a05b 806 *
HannesTschofenig 0:796d0f61a05b 807 * Enable support for receiving and parsing SSLv2 Client Hello messages for the
HannesTschofenig 0:796d0f61a05b 808 * SSL Server module (POLARSSL_SSL_SRV_C).
HannesTschofenig 0:796d0f61a05b 809 *
HannesTschofenig 0:796d0f61a05b 810 * Comment this macro to disable support for SSLv2 Client Hello messages.
HannesTschofenig 0:796d0f61a05b 811 */
HannesTschofenig 0:796d0f61a05b 812 #define POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
HannesTschofenig 0:796d0f61a05b 813
HannesTschofenig 0:796d0f61a05b 814 /**
HannesTschofenig 0:796d0f61a05b 815 * \def POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE
HannesTschofenig 0:796d0f61a05b 816 *
HannesTschofenig 0:796d0f61a05b 817 * Pick the ciphersuite according to the client's preferences rather than ours
HannesTschofenig 0:796d0f61a05b 818 * in the SSL Server module (POLARSSL_SSL_SRV_C).
HannesTschofenig 0:796d0f61a05b 819 *
HannesTschofenig 0:796d0f61a05b 820 * Uncomment this macro to respect client's ciphersuite order
HannesTschofenig 0:796d0f61a05b 821 */
HannesTschofenig 0:796d0f61a05b 822 //#define POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE
HannesTschofenig 0:796d0f61a05b 823
HannesTschofenig 0:796d0f61a05b 824 /**
HannesTschofenig 0:796d0f61a05b 825 * \def POLARSSL_SSL_MAX_FRAGMENT_LENGTH
HannesTschofenig 0:796d0f61a05b 826 *
HannesTschofenig 0:796d0f61a05b 827 * Enable support for RFC 6066 max_fragment_length extension in SSL.
HannesTschofenig 0:796d0f61a05b 828 *
HannesTschofenig 0:796d0f61a05b 829 * Comment this macro to disable support for the max_fragment_length extension
HannesTschofenig 0:796d0f61a05b 830 */
HannesTschofenig 0:796d0f61a05b 831 #define POLARSSL_SSL_MAX_FRAGMENT_LENGTH
HannesTschofenig 0:796d0f61a05b 832
HannesTschofenig 0:796d0f61a05b 833 /**
HannesTschofenig 0:796d0f61a05b 834 * \def POLARSSL_SSL_PROTO_SSL3
HannesTschofenig 0:796d0f61a05b 835 *
HannesTschofenig 0:796d0f61a05b 836 * Enable support for SSL 3.0.
HannesTschofenig 0:796d0f61a05b 837 *
HannesTschofenig 0:796d0f61a05b 838 * Requires: POLARSSL_MD5_C
HannesTschofenig 0:796d0f61a05b 839 * POLARSSL_SHA1_C
HannesTschofenig 0:796d0f61a05b 840 *
HannesTschofenig 0:796d0f61a05b 841 * Comment this macro to disable support for SSL 3.0
HannesTschofenig 0:796d0f61a05b 842 */
HannesTschofenig 0:796d0f61a05b 843 #define POLARSSL_SSL_PROTO_SSL3
HannesTschofenig 0:796d0f61a05b 844
HannesTschofenig 0:796d0f61a05b 845 /**
HannesTschofenig 0:796d0f61a05b 846 * \def POLARSSL_SSL_PROTO_TLS1
HannesTschofenig 0:796d0f61a05b 847 *
HannesTschofenig 0:796d0f61a05b 848 * Enable support for TLS 1.0.
HannesTschofenig 0:796d0f61a05b 849 *
HannesTschofenig 0:796d0f61a05b 850 * Requires: POLARSSL_MD5_C
HannesTschofenig 0:796d0f61a05b 851 * POLARSSL_SHA1_C
HannesTschofenig 0:796d0f61a05b 852 *
HannesTschofenig 0:796d0f61a05b 853 * Comment this macro to disable support for TLS 1.0
HannesTschofenig 0:796d0f61a05b 854 */
HannesTschofenig 0:796d0f61a05b 855 #define POLARSSL_SSL_PROTO_TLS1
HannesTschofenig 0:796d0f61a05b 856
HannesTschofenig 0:796d0f61a05b 857 /**
HannesTschofenig 0:796d0f61a05b 858 * \def POLARSSL_SSL_PROTO_TLS1_1
HannesTschofenig 0:796d0f61a05b 859 *
HannesTschofenig 0:796d0f61a05b 860 * Enable support for TLS 1.1.
HannesTschofenig 0:796d0f61a05b 861 *
HannesTschofenig 0:796d0f61a05b 862 * Requires: POLARSSL_MD5_C
HannesTschofenig 0:796d0f61a05b 863 * POLARSSL_SHA1_C
HannesTschofenig 0:796d0f61a05b 864 *
HannesTschofenig 0:796d0f61a05b 865 * Comment this macro to disable support for TLS 1.1
HannesTschofenig 0:796d0f61a05b 866 */
HannesTschofenig 0:796d0f61a05b 867 #define POLARSSL_SSL_PROTO_TLS1_1
HannesTschofenig 0:796d0f61a05b 868
HannesTschofenig 0:796d0f61a05b 869 /**
HannesTschofenig 0:796d0f61a05b 870 * \def POLARSSL_SSL_PROTO_TLS1_2
HannesTschofenig 0:796d0f61a05b 871 *
HannesTschofenig 0:796d0f61a05b 872 * Enable support for TLS 1.2.
HannesTschofenig 0:796d0f61a05b 873 *
HannesTschofenig 0:796d0f61a05b 874 * Requires: POLARSSL_SHA1_C or POLARSSL_SHA256_C or POLARSSL_SHA512_C
HannesTschofenig 0:796d0f61a05b 875 * (Depends on ciphersuites)
HannesTschofenig 0:796d0f61a05b 876 *
HannesTschofenig 0:796d0f61a05b 877 * Comment this macro to disable support for TLS 1.2
HannesTschofenig 0:796d0f61a05b 878 */
HannesTschofenig 0:796d0f61a05b 879 #define POLARSSL_SSL_PROTO_TLS1_2
HannesTschofenig 0:796d0f61a05b 880
HannesTschofenig 0:796d0f61a05b 881 /**
HannesTschofenig 0:796d0f61a05b 882 * \def POLARSSL_SSL_ALPN
HannesTschofenig 0:796d0f61a05b 883 *
HannesTschofenig 0:796d0f61a05b 884 * Enable support for Application Layer Protocol Negotiation.
HannesTschofenig 0:796d0f61a05b 885 * draft-ietf-tls-applayerprotoneg-05
HannesTschofenig 0:796d0f61a05b 886 *
HannesTschofenig 0:796d0f61a05b 887 * Comment this macro to disable support for ALPN.
HannesTschofenig 0:796d0f61a05b 888 */
HannesTschofenig 0:796d0f61a05b 889 #define POLARSSL_SSL_ALPN
HannesTschofenig 0:796d0f61a05b 890
HannesTschofenig 0:796d0f61a05b 891 /**
HannesTschofenig 0:796d0f61a05b 892 * \def POLARSSL_SSL_SESSION_TICKETS
HannesTschofenig 0:796d0f61a05b 893 *
HannesTschofenig 0:796d0f61a05b 894 * Enable support for RFC 5077 session tickets in SSL.
HannesTschofenig 0:796d0f61a05b 895 *
HannesTschofenig 0:796d0f61a05b 896 * Requires: POLARSSL_AES_C
HannesTschofenig 0:796d0f61a05b 897 * POLARSSL_SHA256_C
HannesTschofenig 0:796d0f61a05b 898 * POLARSSL_CIPHER_MODE_CBC
HannesTschofenig 0:796d0f61a05b 899 *
HannesTschofenig 0:796d0f61a05b 900 * Comment this macro to disable support for SSL session tickets
HannesTschofenig 0:796d0f61a05b 901 */
HannesTschofenig 0:796d0f61a05b 902 #define POLARSSL_SSL_SESSION_TICKETS
HannesTschofenig 0:796d0f61a05b 903
HannesTschofenig 0:796d0f61a05b 904 /**
HannesTschofenig 0:796d0f61a05b 905 * \def POLARSSL_SSL_SERVER_NAME_INDICATION
HannesTschofenig 0:796d0f61a05b 906 *
HannesTschofenig 0:796d0f61a05b 907 * Enable support for RFC 6066 server name indication (SNI) in SSL.
HannesTschofenig 0:796d0f61a05b 908 *
HannesTschofenig 0:796d0f61a05b 909 * Comment this macro to disable support for server name indication in SSL
HannesTschofenig 0:796d0f61a05b 910 */
HannesTschofenig 0:796d0f61a05b 911 #define POLARSSL_SSL_SERVER_NAME_INDICATION
HannesTschofenig 0:796d0f61a05b 912
HannesTschofenig 0:796d0f61a05b 913 /**
HannesTschofenig 0:796d0f61a05b 914 * \def POLARSSL_SSL_TRUNCATED_HMAC
HannesTschofenig 0:796d0f61a05b 915 *
HannesTschofenig 0:796d0f61a05b 916 * Enable support for RFC 6066 truncated HMAC in SSL.
HannesTschofenig 0:796d0f61a05b 917 *
HannesTschofenig 0:796d0f61a05b 918 * Comment this macro to disable support for truncated HMAC in SSL
HannesTschofenig 0:796d0f61a05b 919 */
HannesTschofenig 0:796d0f61a05b 920 #define POLARSSL_SSL_TRUNCATED_HMAC
HannesTschofenig 0:796d0f61a05b 921
HannesTschofenig 0:796d0f61a05b 922 /**
HannesTschofenig 0:796d0f61a05b 923 * \def POLARSSL_SSL_SET_CURVES
HannesTschofenig 0:796d0f61a05b 924 *
HannesTschofenig 0:796d0f61a05b 925 * Enable ssl_set_curves().
HannesTschofenig 0:796d0f61a05b 926 *
HannesTschofenig 0:796d0f61a05b 927 * This is disabled by default since it breaks binary compatibility with the
HannesTschofenig 0:796d0f61a05b 928 * 1.3.x line. If you choose to enable it, you will need to rebuild your
HannesTschofenig 0:796d0f61a05b 929 * application against the new header files, relinking will not be enough.
HannesTschofenig 0:796d0f61a05b 930 * It will be enabled by default, or no longer an option, in the 1.4 branch.
HannesTschofenig 0:796d0f61a05b 931 *
HannesTschofenig 0:796d0f61a05b 932 * Uncomment to make ssl_set_curves() available.
HannesTschofenig 0:796d0f61a05b 933 */
HannesTschofenig 0:796d0f61a05b 934 //#define POLARSSL_SSL_SET_CURVES
HannesTschofenig 0:796d0f61a05b 935
HannesTschofenig 0:796d0f61a05b 936 /**
HannesTschofenig 0:796d0f61a05b 937 * \def POLARSSL_THREADING_ALT
HannesTschofenig 0:796d0f61a05b 938 *
HannesTschofenig 0:796d0f61a05b 939 * Provide your own alternate threading implementation.
HannesTschofenig 0:796d0f61a05b 940 *
HannesTschofenig 0:796d0f61a05b 941 * Requires: POLARSSL_THREADING_C
HannesTschofenig 0:796d0f61a05b 942 *
HannesTschofenig 0:796d0f61a05b 943 * Uncomment this to allow your own alternate threading implementation.
HannesTschofenig 0:796d0f61a05b 944 */
HannesTschofenig 0:796d0f61a05b 945 //#define POLARSSL_THREADING_ALT
HannesTschofenig 0:796d0f61a05b 946
HannesTschofenig 0:796d0f61a05b 947 /**
HannesTschofenig 0:796d0f61a05b 948 * \def POLARSSL_THREADING_PTHREAD
HannesTschofenig 0:796d0f61a05b 949 *
HannesTschofenig 0:796d0f61a05b 950 * Enable the pthread wrapper layer for the threading layer.
HannesTschofenig 0:796d0f61a05b 951 *
HannesTschofenig 0:796d0f61a05b 952 * Requires: POLARSSL_THREADING_C
HannesTschofenig 0:796d0f61a05b 953 *
HannesTschofenig 0:796d0f61a05b 954 * Uncomment this to enable pthread mutexes.
HannesTschofenig 0:796d0f61a05b 955 */
HannesTschofenig 0:796d0f61a05b 956 //#define POLARSSL_THREADING_PTHREAD
HannesTschofenig 0:796d0f61a05b 957
HannesTschofenig 0:796d0f61a05b 958 /**
HannesTschofenig 0:796d0f61a05b 959 * \def POLARSSL_VERSION_FEATURES
HannesTschofenig 0:796d0f61a05b 960 *
HannesTschofenig 0:796d0f61a05b 961 * Allow run-time checking of compile-time enabled features. Thus allowing users
HannesTschofenig 0:796d0f61a05b 962 * to check at run-time if the library is for instance compiled with threading
HannesTschofenig 0:796d0f61a05b 963 * support via version_check_feature().
HannesTschofenig 0:796d0f61a05b 964 *
HannesTschofenig 0:796d0f61a05b 965 * Requires: POLARSSL_VERSION_C
HannesTschofenig 0:796d0f61a05b 966 *
HannesTschofenig 0:796d0f61a05b 967 * Comment this to disable run-time checking and save ROM space
HannesTschofenig 0:796d0f61a05b 968 */
HannesTschofenig 0:796d0f61a05b 969 #define POLARSSL_VERSION_FEATURES
HannesTschofenig 0:796d0f61a05b 970
HannesTschofenig 0:796d0f61a05b 971 /**
HannesTschofenig 0:796d0f61a05b 972 * \def POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3
HannesTschofenig 0:796d0f61a05b 973 *
HannesTschofenig 0:796d0f61a05b 974 * If set, the X509 parser will not break-off when parsing an X509 certificate
HannesTschofenig 0:796d0f61a05b 975 * and encountering an extension in a v1 or v2 certificate.
HannesTschofenig 0:796d0f61a05b 976 *
HannesTschofenig 0:796d0f61a05b 977 * Uncomment to prevent an error.
HannesTschofenig 0:796d0f61a05b 978 */
HannesTschofenig 0:796d0f61a05b 979 //#define POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3
HannesTschofenig 0:796d0f61a05b 980
HannesTschofenig 0:796d0f61a05b 981 /**
HannesTschofenig 0:796d0f61a05b 982 * \def POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
HannesTschofenig 0:796d0f61a05b 983 *
HannesTschofenig 0:796d0f61a05b 984 * If set, the X509 parser will not break-off when parsing an X509 certificate
HannesTschofenig 0:796d0f61a05b 985 * and encountering an unknown critical extension.
HannesTschofenig 0:796d0f61a05b 986 *
HannesTschofenig 0:796d0f61a05b 987 * Uncomment to prevent an error.
HannesTschofenig 0:796d0f61a05b 988 */
HannesTschofenig 0:796d0f61a05b 989 //#define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
HannesTschofenig 0:796d0f61a05b 990
HannesTschofenig 0:796d0f61a05b 991 /**
HannesTschofenig 0:796d0f61a05b 992 * \def POLARSSL_X509_CHECK_KEY_USAGE
HannesTschofenig 0:796d0f61a05b 993 *
HannesTschofenig 0:796d0f61a05b 994 * Enable verification of the keyUsage extension (CA and leaf certificates).
HannesTschofenig 0:796d0f61a05b 995 *
HannesTschofenig 0:796d0f61a05b 996 * Disabling this avoids problems with mis-issued and/or misused
HannesTschofenig 0:796d0f61a05b 997 * (intermediate) CA and leaf certificates.
HannesTschofenig 0:796d0f61a05b 998 *
HannesTschofenig 0:796d0f61a05b 999 * \warning Depending on your PKI use, disabling this can be a security risk!
HannesTschofenig 0:796d0f61a05b 1000 *
HannesTschofenig 0:796d0f61a05b 1001 * Comment to skip keyUsage checking for both CA and leaf certificates.
HannesTschofenig 0:796d0f61a05b 1002 */
HannesTschofenig 0:796d0f61a05b 1003 #define POLARSSL_X509_CHECK_KEY_USAGE
HannesTschofenig 0:796d0f61a05b 1004
HannesTschofenig 0:796d0f61a05b 1005 /**
HannesTschofenig 0:796d0f61a05b 1006 * \def POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE
HannesTschofenig 0:796d0f61a05b 1007 *
HannesTschofenig 0:796d0f61a05b 1008 * Enable verification of the extendedKeyUsage extension (leaf certificates).
HannesTschofenig 0:796d0f61a05b 1009 *
HannesTschofenig 0:796d0f61a05b 1010 * Disabling this avoids problems with mis-issued and/or misused certificates.
HannesTschofenig 0:796d0f61a05b 1011 *
HannesTschofenig 0:796d0f61a05b 1012 * \warning Depending on your PKI use, disabling this can be a security risk!
HannesTschofenig 0:796d0f61a05b 1013 *
HannesTschofenig 0:796d0f61a05b 1014 * Comment to skip extendedKeyUsage checking for certificates.
HannesTschofenig 0:796d0f61a05b 1015 */
HannesTschofenig 0:796d0f61a05b 1016 #define POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE
HannesTschofenig 0:796d0f61a05b 1017
HannesTschofenig 0:796d0f61a05b 1018 /**
HannesTschofenig 0:796d0f61a05b 1019 * \def POLARSSL_ZLIB_SUPPORT
HannesTschofenig 0:796d0f61a05b 1020 *
HannesTschofenig 0:796d0f61a05b 1021 * If set, the SSL/TLS module uses ZLIB to support compression and
HannesTschofenig 0:796d0f61a05b 1022 * decompression of packet data.
HannesTschofenig 0:796d0f61a05b 1023 *
HannesTschofenig 0:796d0f61a05b 1024 * \warning TLS-level compression MAY REDUCE SECURITY! See for example the
HannesTschofenig 0:796d0f61a05b 1025 * CRIME attack. Before enabling this option, you should examine with care if
HannesTschofenig 0:796d0f61a05b 1026 * CRIME or similar exploits may be a applicable to your use case.
HannesTschofenig 0:796d0f61a05b 1027 *
HannesTschofenig 0:796d0f61a05b 1028 * Used in: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1029 * library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1030 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1031 *
HannesTschofenig 0:796d0f61a05b 1032 * This feature requires zlib library and headers to be present.
HannesTschofenig 0:796d0f61a05b 1033 *
HannesTschofenig 0:796d0f61a05b 1034 * Uncomment to enable use of ZLIB
HannesTschofenig 0:796d0f61a05b 1035 */
HannesTschofenig 0:796d0f61a05b 1036 //#define POLARSSL_ZLIB_SUPPORT
HannesTschofenig 0:796d0f61a05b 1037 /* \} name SECTION: PolarSSL feature support */
HannesTschofenig 0:796d0f61a05b 1038
HannesTschofenig 0:796d0f61a05b 1039 /**
HannesTschofenig 0:796d0f61a05b 1040 * \name SECTION: PolarSSL modules
HannesTschofenig 0:796d0f61a05b 1041 *
HannesTschofenig 0:796d0f61a05b 1042 * This section enables or disables entire modules in PolarSSL
HannesTschofenig 0:796d0f61a05b 1043 * \{
HannesTschofenig 0:796d0f61a05b 1044 */
HannesTschofenig 0:796d0f61a05b 1045
HannesTschofenig 0:796d0f61a05b 1046 /**
HannesTschofenig 0:796d0f61a05b 1047 * \def POLARSSL_AESNI_C
HannesTschofenig 0:796d0f61a05b 1048 *
HannesTschofenig 0:796d0f61a05b 1049 * Enable AES-NI support on x86-64.
HannesTschofenig 0:796d0f61a05b 1050 *
HannesTschofenig 0:796d0f61a05b 1051 * Module: library/aesni.c
HannesTschofenig 0:796d0f61a05b 1052 * Caller: library/aes.c
HannesTschofenig 0:796d0f61a05b 1053 *
HannesTschofenig 0:796d0f61a05b 1054 * Requires: POLARSSL_HAVE_ASM
HannesTschofenig 0:796d0f61a05b 1055 *
HannesTschofenig 0:796d0f61a05b 1056 * This modules adds support for the AES-NI instructions on x86-64
HannesTschofenig 0:796d0f61a05b 1057 */
HannesTschofenig 0:796d0f61a05b 1058 #define POLARSSL_AESNI_C
HannesTschofenig 0:796d0f61a05b 1059
HannesTschofenig 0:796d0f61a05b 1060 /**
HannesTschofenig 0:796d0f61a05b 1061 * \def POLARSSL_AES_C
HannesTschofenig 0:796d0f61a05b 1062 *
HannesTschofenig 0:796d0f61a05b 1063 * Enable the AES block cipher.
HannesTschofenig 0:796d0f61a05b 1064 *
HannesTschofenig 0:796d0f61a05b 1065 * Module: library/aes.c
HannesTschofenig 0:796d0f61a05b 1066 * Caller: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1067 * library/pem.c
HannesTschofenig 0:796d0f61a05b 1068 * library/ctr_drbg.c
HannesTschofenig 0:796d0f61a05b 1069 *
HannesTschofenig 0:796d0f61a05b 1070 * This module enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 1071 * enabled as well):
HannesTschofenig 0:796d0f61a05b 1072 * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1073 * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1074 * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1075 * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1076 * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1077 * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1078 * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1079 * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1080 * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1081 * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1082 * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1083 * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1084 * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1085 * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1086 * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1087 * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1088 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1089 * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1090 * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1091 * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1092 * TLS_DHE_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1093 * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1094 * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1095 * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1096 * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1097 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1098 * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1099 * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1100 * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1101 * TLS_DHE_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1102 * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1103 * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1104 * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1105 * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1106 * TLS_DHE_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1107 * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1108 * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1109 * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1110 * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1111 * TLS_DHE_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1112 * TLS_RSA_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1113 * TLS_RSA_WITH_AES_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1114 * TLS_RSA_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1115 * TLS_RSA_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1116 * TLS_RSA_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1117 * TLS_RSA_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1118 * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1119 * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1120 * TLS_RSA_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1121 * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1122 * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1123 * TLS_RSA_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1124 * TLS_PSK_WITH_AES_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1125 * TLS_PSK_WITH_AES_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1126 * TLS_PSK_WITH_AES_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1127 * TLS_PSK_WITH_AES_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1128 * TLS_PSK_WITH_AES_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1129 * TLS_PSK_WITH_AES_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1130 *
HannesTschofenig 0:796d0f61a05b 1131 * PEM_PARSE uses AES for decrypting encrypted keys.
HannesTschofenig 0:796d0f61a05b 1132 */
HannesTschofenig 0:796d0f61a05b 1133 #define POLARSSL_AES_C
HannesTschofenig 0:796d0f61a05b 1134
HannesTschofenig 0:796d0f61a05b 1135 /**
HannesTschofenig 0:796d0f61a05b 1136 * \def POLARSSL_ARC4_C
HannesTschofenig 0:796d0f61a05b 1137 *
HannesTschofenig 0:796d0f61a05b 1138 * Enable the ARCFOUR stream cipher.
HannesTschofenig 0:796d0f61a05b 1139 *
HannesTschofenig 0:796d0f61a05b 1140 * Module: library/arc4.c
HannesTschofenig 0:796d0f61a05b 1141 * Caller: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1142 *
HannesTschofenig 0:796d0f61a05b 1143 * This module enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 1144 * enabled as well):
HannesTschofenig 0:796d0f61a05b 1145 * TLS_ECDH_ECDSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1146 * TLS_ECDH_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1147 * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1148 * TLS_ECDHE_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1149 * TLS_ECDHE_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1150 * TLS_DHE_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1151 * TLS_RSA_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1152 * TLS_RSA_WITH_RC4_128_MD5
HannesTschofenig 0:796d0f61a05b 1153 * TLS_RSA_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1154 * TLS_PSK_WITH_RC4_128_SHA
HannesTschofenig 0:796d0f61a05b 1155 */
HannesTschofenig 0:796d0f61a05b 1156 #define POLARSSL_ARC4_C
HannesTschofenig 0:796d0f61a05b 1157
HannesTschofenig 0:796d0f61a05b 1158 /**
HannesTschofenig 0:796d0f61a05b 1159 * \def POLARSSL_ASN1_PARSE_C
HannesTschofenig 0:796d0f61a05b 1160 *
HannesTschofenig 0:796d0f61a05b 1161 * Enable the generic ASN1 parser.
HannesTschofenig 0:796d0f61a05b 1162 *
HannesTschofenig 0:796d0f61a05b 1163 * Module: library/asn1.c
HannesTschofenig 0:796d0f61a05b 1164 * Caller: library/x509.c
HannesTschofenig 0:796d0f61a05b 1165 * library/dhm.c
HannesTschofenig 0:796d0f61a05b 1166 * library/pkcs12.c
HannesTschofenig 0:796d0f61a05b 1167 * library/pkcs5.c
HannesTschofenig 0:796d0f61a05b 1168 * library/pkparse.c
HannesTschofenig 0:796d0f61a05b 1169 */
HannesTschofenig 0:796d0f61a05b 1170 #define POLARSSL_ASN1_PARSE_C
HannesTschofenig 0:796d0f61a05b 1171
HannesTschofenig 0:796d0f61a05b 1172 /**
HannesTschofenig 0:796d0f61a05b 1173 * \def POLARSSL_ASN1_WRITE_C
HannesTschofenig 0:796d0f61a05b 1174 *
HannesTschofenig 0:796d0f61a05b 1175 * Enable the generic ASN1 writer.
HannesTschofenig 0:796d0f61a05b 1176 *
HannesTschofenig 0:796d0f61a05b 1177 * Module: library/asn1write.c
HannesTschofenig 0:796d0f61a05b 1178 * Caller: library/ecdsa.c
HannesTschofenig 0:796d0f61a05b 1179 * library/pkwrite.c
HannesTschofenig 0:796d0f61a05b 1180 * library/x509_create.c
HannesTschofenig 0:796d0f61a05b 1181 * library/x509write_crt.c
HannesTschofenig 0:796d0f61a05b 1182 * library/x509write_csr.c
HannesTschofenig 0:796d0f61a05b 1183 */
HannesTschofenig 0:796d0f61a05b 1184 #define POLARSSL_ASN1_WRITE_C
HannesTschofenig 0:796d0f61a05b 1185
HannesTschofenig 0:796d0f61a05b 1186 /**
HannesTschofenig 0:796d0f61a05b 1187 * \def POLARSSL_BASE64_C
HannesTschofenig 0:796d0f61a05b 1188 *
HannesTschofenig 0:796d0f61a05b 1189 * Enable the Base64 module.
HannesTschofenig 0:796d0f61a05b 1190 *
HannesTschofenig 0:796d0f61a05b 1191 * Module: library/base64.c
HannesTschofenig 0:796d0f61a05b 1192 * Caller: library/pem.c
HannesTschofenig 0:796d0f61a05b 1193 *
HannesTschofenig 0:796d0f61a05b 1194 * This module is required for PEM support (required by X.509).
HannesTschofenig 0:796d0f61a05b 1195 */
HannesTschofenig 0:796d0f61a05b 1196 #define POLARSSL_BASE64_C
HannesTschofenig 0:796d0f61a05b 1197
HannesTschofenig 0:796d0f61a05b 1198 /**
HannesTschofenig 0:796d0f61a05b 1199 * \def POLARSSL_BIGNUM_C
HannesTschofenig 0:796d0f61a05b 1200 *
HannesTschofenig 0:796d0f61a05b 1201 * Enable the multi-precision integer library.
HannesTschofenig 0:796d0f61a05b 1202 *
HannesTschofenig 0:796d0f61a05b 1203 * Module: library/bignum.c
HannesTschofenig 0:796d0f61a05b 1204 * Caller: library/dhm.c
HannesTschofenig 0:796d0f61a05b 1205 * library/ecp.c
HannesTschofenig 0:796d0f61a05b 1206 * library/rsa.c
HannesTschofenig 0:796d0f61a05b 1207 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1208 *
HannesTschofenig 0:796d0f61a05b 1209 * This module is required for RSA and DHM support.
HannesTschofenig 0:796d0f61a05b 1210 */
HannesTschofenig 0:796d0f61a05b 1211 #define POLARSSL_BIGNUM_C
HannesTschofenig 0:796d0f61a05b 1212
HannesTschofenig 0:796d0f61a05b 1213 /**
HannesTschofenig 0:796d0f61a05b 1214 * \def POLARSSL_BLOWFISH_C
HannesTschofenig 0:796d0f61a05b 1215 *
HannesTschofenig 0:796d0f61a05b 1216 * Enable the Blowfish block cipher.
HannesTschofenig 0:796d0f61a05b 1217 *
HannesTschofenig 0:796d0f61a05b 1218 * Module: library/blowfish.c
HannesTschofenig 0:796d0f61a05b 1219 */
HannesTschofenig 0:796d0f61a05b 1220 #define POLARSSL_BLOWFISH_C
HannesTschofenig 0:796d0f61a05b 1221
HannesTschofenig 0:796d0f61a05b 1222 /**
HannesTschofenig 0:796d0f61a05b 1223 * \def POLARSSL_CAMELLIA_C
HannesTschofenig 0:796d0f61a05b 1224 *
HannesTschofenig 0:796d0f61a05b 1225 * Enable the Camellia block cipher.
HannesTschofenig 0:796d0f61a05b 1226 *
HannesTschofenig 0:796d0f61a05b 1227 * Module: library/camellia.c
HannesTschofenig 0:796d0f61a05b 1228 * Caller: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1229 *
HannesTschofenig 0:796d0f61a05b 1230 * This module enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 1231 * enabled as well):
HannesTschofenig 0:796d0f61a05b 1232 * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1233 * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1234 * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1235 * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1236 * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1237 * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1238 * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1239 * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1240 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1241 * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1242 * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1243 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1244 * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1245 * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1246 * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1247 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1248 * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1249 * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1250 * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1251 * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1252 * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1253 * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1254 * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1255 * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1256 * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1257 * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1258 * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1259 * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1260 * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1261 * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1262 * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1263 * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1264 * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1265 * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1266 * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1267 * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1268 * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1269 * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1270 * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
HannesTschofenig 0:796d0f61a05b 1271 * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
HannesTschofenig 0:796d0f61a05b 1272 * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
HannesTschofenig 0:796d0f61a05b 1273 * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
HannesTschofenig 0:796d0f61a05b 1274 */
HannesTschofenig 0:796d0f61a05b 1275 #define POLARSSL_CAMELLIA_C
HannesTschofenig 0:796d0f61a05b 1276
HannesTschofenig 0:796d0f61a05b 1277 /**
HannesTschofenig 0:796d0f61a05b 1278 * \def POLARSSL_CERTS_C
HannesTschofenig 0:796d0f61a05b 1279 *
HannesTschofenig 0:796d0f61a05b 1280 * Enable the test certificates.
HannesTschofenig 0:796d0f61a05b 1281 *
HannesTschofenig 0:796d0f61a05b 1282 * Module: library/certs.c
HannesTschofenig 0:796d0f61a05b 1283 * Caller:
HannesTschofenig 0:796d0f61a05b 1284 *
HannesTschofenig 0:796d0f61a05b 1285 * Requires: POLARSSL_PEM_PARSE_C
HannesTschofenig 0:796d0f61a05b 1286 *
HannesTschofenig 0:796d0f61a05b 1287 * This module is used for testing (ssl_client/server).
HannesTschofenig 0:796d0f61a05b 1288 */
HannesTschofenig 0:796d0f61a05b 1289 #define POLARSSL_CERTS_C
HannesTschofenig 0:796d0f61a05b 1290
HannesTschofenig 0:796d0f61a05b 1291 /**
HannesTschofenig 0:796d0f61a05b 1292 * \def POLARSSL_CIPHER_C
HannesTschofenig 0:796d0f61a05b 1293 *
HannesTschofenig 0:796d0f61a05b 1294 * Enable the generic cipher layer.
HannesTschofenig 0:796d0f61a05b 1295 *
HannesTschofenig 0:796d0f61a05b 1296 * Module: library/cipher.c
HannesTschofenig 0:796d0f61a05b 1297 * Caller: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1298 *
HannesTschofenig 0:796d0f61a05b 1299 * Uncomment to enable generic cipher wrappers.
HannesTschofenig 0:796d0f61a05b 1300 */
HannesTschofenig 0:796d0f61a05b 1301 #define POLARSSL_CIPHER_C
HannesTschofenig 0:796d0f61a05b 1302
HannesTschofenig 0:796d0f61a05b 1303 /**
HannesTschofenig 0:796d0f61a05b 1304 * \def POLARSSL_CTR_DRBG_C
HannesTschofenig 0:796d0f61a05b 1305 *
HannesTschofenig 0:796d0f61a05b 1306 * Enable the CTR_DRBG AES-256-based random generator.
HannesTschofenig 0:796d0f61a05b 1307 *
HannesTschofenig 0:796d0f61a05b 1308 * Module: library/ctr_drbg.c
HannesTschofenig 0:796d0f61a05b 1309 * Caller:
HannesTschofenig 0:796d0f61a05b 1310 *
HannesTschofenig 0:796d0f61a05b 1311 * Requires: POLARSSL_AES_C
HannesTschofenig 0:796d0f61a05b 1312 *
HannesTschofenig 0:796d0f61a05b 1313 * This module provides the CTR_DRBG AES-256 random number generator.
HannesTschofenig 0:796d0f61a05b 1314 */
HannesTschofenig 0:796d0f61a05b 1315 #define POLARSSL_CTR_DRBG_C
HannesTschofenig 0:796d0f61a05b 1316
HannesTschofenig 0:796d0f61a05b 1317 /**
HannesTschofenig 0:796d0f61a05b 1318 * \def POLARSSL_DEBUG_C
HannesTschofenig 0:796d0f61a05b 1319 *
HannesTschofenig 0:796d0f61a05b 1320 * Enable the debug functions.
HannesTschofenig 0:796d0f61a05b 1321 *
HannesTschofenig 0:796d0f61a05b 1322 * Module: library/debug.c
HannesTschofenig 0:796d0f61a05b 1323 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1324 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1325 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1326 *
HannesTschofenig 0:796d0f61a05b 1327 * This module provides debugging functions.
HannesTschofenig 0:796d0f61a05b 1328 */
HannesTschofenig 0:796d0f61a05b 1329 #define POLARSSL_DEBUG_C
HannesTschofenig 0:796d0f61a05b 1330
HannesTschofenig 0:796d0f61a05b 1331 /**
HannesTschofenig 0:796d0f61a05b 1332 * \def POLARSSL_DES_C
HannesTschofenig 0:796d0f61a05b 1333 *
HannesTschofenig 0:796d0f61a05b 1334 * Enable the DES block cipher.
HannesTschofenig 0:796d0f61a05b 1335 *
HannesTschofenig 0:796d0f61a05b 1336 * Module: library/des.c
HannesTschofenig 0:796d0f61a05b 1337 * Caller: library/pem.c
HannesTschofenig 0:796d0f61a05b 1338 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1339 *
HannesTschofenig 0:796d0f61a05b 1340 * This module enables the following ciphersuites (if other requisites are
HannesTschofenig 0:796d0f61a05b 1341 * enabled as well):
HannesTschofenig 0:796d0f61a05b 1342 * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1343 * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1344 * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1345 * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1346 * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1347 * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1348 * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1349 * TLS_RSA_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1350 * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1351 * TLS_PSK_WITH_3DES_EDE_CBC_SHA
HannesTschofenig 0:796d0f61a05b 1352 *
HannesTschofenig 0:796d0f61a05b 1353 * PEM_PARSE uses DES/3DES for decrypting encrypted keys.
HannesTschofenig 0:796d0f61a05b 1354 */
HannesTschofenig 0:796d0f61a05b 1355 #define POLARSSL_DES_C
HannesTschofenig 0:796d0f61a05b 1356
HannesTschofenig 0:796d0f61a05b 1357 /**
HannesTschofenig 0:796d0f61a05b 1358 * \def POLARSSL_DHM_C
HannesTschofenig 0:796d0f61a05b 1359 *
HannesTschofenig 0:796d0f61a05b 1360 * Enable the Diffie-Hellman-Merkle module.
HannesTschofenig 0:796d0f61a05b 1361 *
HannesTschofenig 0:796d0f61a05b 1362 * Module: library/dhm.c
HannesTschofenig 0:796d0f61a05b 1363 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1364 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1365 *
HannesTschofenig 0:796d0f61a05b 1366 * This module is used by the following key exchanges:
HannesTschofenig 0:796d0f61a05b 1367 * DHE-RSA, DHE-PSK
HannesTschofenig 0:796d0f61a05b 1368 */
HannesTschofenig 0:796d0f61a05b 1369 #define POLARSSL_DHM_C
HannesTschofenig 0:796d0f61a05b 1370
HannesTschofenig 0:796d0f61a05b 1371 /**
HannesTschofenig 0:796d0f61a05b 1372 * \def POLARSSL_ECDH_C
HannesTschofenig 0:796d0f61a05b 1373 *
HannesTschofenig 0:796d0f61a05b 1374 * Enable the elliptic curve Diffie-Hellman library.
HannesTschofenig 0:796d0f61a05b 1375 *
HannesTschofenig 0:796d0f61a05b 1376 * Module: library/ecdh.c
HannesTschofenig 0:796d0f61a05b 1377 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1378 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1379 *
HannesTschofenig 0:796d0f61a05b 1380 * This module is used by the following key exchanges:
HannesTschofenig 0:796d0f61a05b 1381 * ECDHE-ECDSA, ECDHE-RSA, DHE-PSK
HannesTschofenig 0:796d0f61a05b 1382 *
HannesTschofenig 0:796d0f61a05b 1383 * Requires: POLARSSL_ECP_C
HannesTschofenig 0:796d0f61a05b 1384 */
HannesTschofenig 0:796d0f61a05b 1385 #define POLARSSL_ECDH_C
HannesTschofenig 0:796d0f61a05b 1386
HannesTschofenig 0:796d0f61a05b 1387 /**
HannesTschofenig 0:796d0f61a05b 1388 * \def POLARSSL_ECDSA_C
HannesTschofenig 0:796d0f61a05b 1389 *
HannesTschofenig 0:796d0f61a05b 1390 * Enable the elliptic curve DSA library.
HannesTschofenig 0:796d0f61a05b 1391 *
HannesTschofenig 0:796d0f61a05b 1392 * Module: library/ecdsa.c
HannesTschofenig 0:796d0f61a05b 1393 * Caller:
HannesTschofenig 0:796d0f61a05b 1394 *
HannesTschofenig 0:796d0f61a05b 1395 * This module is used by the following key exchanges:
HannesTschofenig 0:796d0f61a05b 1396 * ECDHE-ECDSA
HannesTschofenig 0:796d0f61a05b 1397 *
HannesTschofenig 0:796d0f61a05b 1398 * Requires: POLARSSL_ECP_C, POLARSSL_ASN1_WRITE_C, POLARSSL_ASN1_PARSE_C
HannesTschofenig 0:796d0f61a05b 1399 */
HannesTschofenig 0:796d0f61a05b 1400 #define POLARSSL_ECDSA_C
HannesTschofenig 0:796d0f61a05b 1401
HannesTschofenig 0:796d0f61a05b 1402 /**
HannesTschofenig 0:796d0f61a05b 1403 * \def POLARSSL_ECP_C
HannesTschofenig 0:796d0f61a05b 1404 *
HannesTschofenig 0:796d0f61a05b 1405 * Enable the elliptic curve over GF(p) library.
HannesTschofenig 0:796d0f61a05b 1406 *
HannesTschofenig 0:796d0f61a05b 1407 * Module: library/ecp.c
HannesTschofenig 0:796d0f61a05b 1408 * Caller: library/ecdh.c
HannesTschofenig 0:796d0f61a05b 1409 * library/ecdsa.c
HannesTschofenig 0:796d0f61a05b 1410 *
HannesTschofenig 0:796d0f61a05b 1411 * Requires: POLARSSL_BIGNUM_C and at least one POLARSSL_ECP_DP_XXX_ENABLED
HannesTschofenig 0:796d0f61a05b 1412 */
HannesTschofenig 0:796d0f61a05b 1413 #define POLARSSL_ECP_C
HannesTschofenig 0:796d0f61a05b 1414
HannesTschofenig 0:796d0f61a05b 1415 /**
HannesTschofenig 0:796d0f61a05b 1416 * \def POLARSSL_ENTROPY_C
HannesTschofenig 0:796d0f61a05b 1417 *
HannesTschofenig 0:796d0f61a05b 1418 * Enable the platform-specific entropy code.
HannesTschofenig 0:796d0f61a05b 1419 *
HannesTschofenig 0:796d0f61a05b 1420 * Module: library/entropy.c
HannesTschofenig 0:796d0f61a05b 1421 * Caller:
HannesTschofenig 0:796d0f61a05b 1422 *
HannesTschofenig 0:796d0f61a05b 1423 * Requires: POLARSSL_SHA512_C or POLARSSL_SHA256_C
HannesTschofenig 0:796d0f61a05b 1424 *
HannesTschofenig 0:796d0f61a05b 1425 * This module provides a generic entropy pool
HannesTschofenig 0:796d0f61a05b 1426 */
HannesTschofenig 0:796d0f61a05b 1427 #define POLARSSL_ENTROPY_C
HannesTschofenig 0:796d0f61a05b 1428
HannesTschofenig 0:796d0f61a05b 1429 /**
HannesTschofenig 0:796d0f61a05b 1430 * \def POLARSSL_ERROR_C
HannesTschofenig 0:796d0f61a05b 1431 *
HannesTschofenig 0:796d0f61a05b 1432 * Enable error code to error string conversion.
HannesTschofenig 0:796d0f61a05b 1433 *
HannesTschofenig 0:796d0f61a05b 1434 * Module: library/error.c
HannesTschofenig 0:796d0f61a05b 1435 * Caller:
HannesTschofenig 0:796d0f61a05b 1436 *
HannesTschofenig 0:796d0f61a05b 1437 * This module enables polarssl_strerror().
HannesTschofenig 0:796d0f61a05b 1438 */
HannesTschofenig 0:796d0f61a05b 1439 #define POLARSSL_ERROR_C
HannesTschofenig 0:796d0f61a05b 1440
HannesTschofenig 0:796d0f61a05b 1441 /**
HannesTschofenig 0:796d0f61a05b 1442 * \def POLARSSL_GCM_C
HannesTschofenig 0:796d0f61a05b 1443 *
HannesTschofenig 0:796d0f61a05b 1444 * Enable the Galois/Counter Mode (GCM) for AES.
HannesTschofenig 0:796d0f61a05b 1445 *
HannesTschofenig 0:796d0f61a05b 1446 * Module: library/gcm.c
HannesTschofenig 0:796d0f61a05b 1447 *
HannesTschofenig 0:796d0f61a05b 1448 * Requires: POLARSSL_AES_C or POLARSSL_CAMELLIA_C
HannesTschofenig 0:796d0f61a05b 1449 *
HannesTschofenig 0:796d0f61a05b 1450 * This module enables the AES-GCM and CAMELLIA-GCM ciphersuites, if other
HannesTschofenig 0:796d0f61a05b 1451 * requisites are enabled as well.
HannesTschofenig 0:796d0f61a05b 1452 */
HannesTschofenig 0:796d0f61a05b 1453 #define POLARSSL_GCM_C
HannesTschofenig 0:796d0f61a05b 1454
HannesTschofenig 0:796d0f61a05b 1455 /**
HannesTschofenig 0:796d0f61a05b 1456 * \def POLARSSL_HAVEGE_C
HannesTschofenig 0:796d0f61a05b 1457 *
HannesTschofenig 0:796d0f61a05b 1458 * Enable the HAVEGE random generator.
HannesTschofenig 0:796d0f61a05b 1459 *
HannesTschofenig 0:796d0f61a05b 1460 * Warning: the HAVEGE random generator is not suitable for virtualized
HannesTschofenig 0:796d0f61a05b 1461 * environments
HannesTschofenig 0:796d0f61a05b 1462 *
HannesTschofenig 0:796d0f61a05b 1463 * Warning: the HAVEGE random generator is dependent on timing and specific
HannesTschofenig 0:796d0f61a05b 1464 * processor traits. It is therefore not advised to use HAVEGE as
HannesTschofenig 0:796d0f61a05b 1465 * your applications primary random generator or primary entropy pool
HannesTschofenig 0:796d0f61a05b 1466 * input. As a secondary input to your entropy pool, it IS able add
HannesTschofenig 0:796d0f61a05b 1467 * the (limited) extra entropy it provides.
HannesTschofenig 0:796d0f61a05b 1468 *
HannesTschofenig 0:796d0f61a05b 1469 * Module: library/havege.c
HannesTschofenig 0:796d0f61a05b 1470 * Caller:
HannesTschofenig 0:796d0f61a05b 1471 *
HannesTschofenig 0:796d0f61a05b 1472 * Requires: POLARSSL_TIMING_C
HannesTschofenig 0:796d0f61a05b 1473 *
HannesTschofenig 0:796d0f61a05b 1474 * Uncomment to enable the HAVEGE random generator.
HannesTschofenig 0:796d0f61a05b 1475 */
HannesTschofenig 0:796d0f61a05b 1476 //#define POLARSSL_HAVEGE_C
HannesTschofenig 0:796d0f61a05b 1477
HannesTschofenig 0:796d0f61a05b 1478 /**
HannesTschofenig 0:796d0f61a05b 1479 * \def POLARSSL_HMAC_DRBG_C
HannesTschofenig 0:796d0f61a05b 1480 *
HannesTschofenig 0:796d0f61a05b 1481 * Enable the HMAC_DRBG random generator.
HannesTschofenig 0:796d0f61a05b 1482 *
HannesTschofenig 0:796d0f61a05b 1483 * Module: library/hmac_drbg.c
HannesTschofenig 0:796d0f61a05b 1484 * Caller:
HannesTschofenig 0:796d0f61a05b 1485 *
HannesTschofenig 0:796d0f61a05b 1486 * Requires: POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1487 *
HannesTschofenig 0:796d0f61a05b 1488 * Uncomment to enable the HMAC_DRBG random number geerator.
HannesTschofenig 0:796d0f61a05b 1489 */
HannesTschofenig 0:796d0f61a05b 1490 #define POLARSSL_HMAC_DRBG_C
HannesTschofenig 0:796d0f61a05b 1491
HannesTschofenig 0:796d0f61a05b 1492 /**
HannesTschofenig 0:796d0f61a05b 1493 * \def POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1494 *
HannesTschofenig 0:796d0f61a05b 1495 * Enable the generic message digest layer.
HannesTschofenig 0:796d0f61a05b 1496 *
HannesTschofenig 0:796d0f61a05b 1497 * Module: library/md.c
HannesTschofenig 0:796d0f61a05b 1498 * Caller:
HannesTschofenig 0:796d0f61a05b 1499 *
HannesTschofenig 0:796d0f61a05b 1500 * Uncomment to enable generic message digest wrappers.
HannesTschofenig 0:796d0f61a05b 1501 */
HannesTschofenig 0:796d0f61a05b 1502 #define POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1503
HannesTschofenig 0:796d0f61a05b 1504 /**
HannesTschofenig 0:796d0f61a05b 1505 * \def POLARSSL_MD2_C
HannesTschofenig 0:796d0f61a05b 1506 *
HannesTschofenig 0:796d0f61a05b 1507 * Enable the MD2 hash algorithm.
HannesTschofenig 0:796d0f61a05b 1508 *
HannesTschofenig 0:796d0f61a05b 1509 * Module: library/md2.c
HannesTschofenig 0:796d0f61a05b 1510 * Caller:
HannesTschofenig 0:796d0f61a05b 1511 *
HannesTschofenig 0:796d0f61a05b 1512 * Uncomment to enable support for (rare) MD2-signed X.509 certs.
HannesTschofenig 0:796d0f61a05b 1513 */
HannesTschofenig 0:796d0f61a05b 1514 //#define POLARSSL_MD2_C
HannesTschofenig 0:796d0f61a05b 1515
HannesTschofenig 0:796d0f61a05b 1516 /**
HannesTschofenig 0:796d0f61a05b 1517 * \def POLARSSL_MD4_C
HannesTschofenig 0:796d0f61a05b 1518 *
HannesTschofenig 0:796d0f61a05b 1519 * Enable the MD4 hash algorithm.
HannesTschofenig 0:796d0f61a05b 1520 *
HannesTschofenig 0:796d0f61a05b 1521 * Module: library/md4.c
HannesTschofenig 0:796d0f61a05b 1522 * Caller:
HannesTschofenig 0:796d0f61a05b 1523 *
HannesTschofenig 0:796d0f61a05b 1524 * Uncomment to enable support for (rare) MD4-signed X.509 certs.
HannesTschofenig 0:796d0f61a05b 1525 */
HannesTschofenig 0:796d0f61a05b 1526 //#define POLARSSL_MD4_C
HannesTschofenig 0:796d0f61a05b 1527
HannesTschofenig 0:796d0f61a05b 1528 /**
HannesTschofenig 0:796d0f61a05b 1529 * \def POLARSSL_MD5_C
HannesTschofenig 0:796d0f61a05b 1530 *
HannesTschofenig 0:796d0f61a05b 1531 * Enable the MD5 hash algorithm.
HannesTschofenig 0:796d0f61a05b 1532 *
HannesTschofenig 0:796d0f61a05b 1533 * Module: library/md5.c
HannesTschofenig 0:796d0f61a05b 1534 * Caller: library/md.c
HannesTschofenig 0:796d0f61a05b 1535 * library/pem.c
HannesTschofenig 0:796d0f61a05b 1536 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1537 *
HannesTschofenig 0:796d0f61a05b 1538 * This module is required for SSL/TLS and X.509.
HannesTschofenig 0:796d0f61a05b 1539 * PEM_PARSE uses MD5 for decrypting encrypted keys.
HannesTschofenig 0:796d0f61a05b 1540 */
HannesTschofenig 0:796d0f61a05b 1541 #define POLARSSL_MD5_C
HannesTschofenig 0:796d0f61a05b 1542
HannesTschofenig 0:796d0f61a05b 1543 /**
HannesTschofenig 0:796d0f61a05b 1544 * \def POLARSSL_MEMORY_C
HannesTschofenig 0:796d0f61a05b 1545 * Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead.
HannesTschofenig 0:796d0f61a05b 1546 */
HannesTschofenig 0:796d0f61a05b 1547 //#define POLARSSL_MEMORY_C
HannesTschofenig 0:796d0f61a05b 1548
HannesTschofenig 0:796d0f61a05b 1549 /**
HannesTschofenig 0:796d0f61a05b 1550 * \def POLARSSL_MEMORY_BUFFER_ALLOC_C
HannesTschofenig 0:796d0f61a05b 1551 *
HannesTschofenig 0:796d0f61a05b 1552 * Enable the buffer allocator implementation that makes use of a (stack)
HannesTschofenig 0:796d0f61a05b 1553 * based buffer to 'allocate' dynamic memory. (replaces malloc() and free()
HannesTschofenig 0:796d0f61a05b 1554 * calls)
HannesTschofenig 0:796d0f61a05b 1555 *
HannesTschofenig 0:796d0f61a05b 1556 * Module: library/memory_buffer_alloc.c
HannesTschofenig 0:796d0f61a05b 1557 *
HannesTschofenig 0:796d0f61a05b 1558 * Requires: POLARSSL_PLATFORM_C
HannesTschofenig 0:796d0f61a05b 1559 * POLARSSL_PLATFORM_MEMORY (to use it within PolarSSL)
HannesTschofenig 0:796d0f61a05b 1560 *
HannesTschofenig 0:796d0f61a05b 1561 * Enable this module to enable the buffer memory allocator.
HannesTschofenig 0:796d0f61a05b 1562 */
HannesTschofenig 0:796d0f61a05b 1563 //#define POLARSSL_MEMORY_BUFFER_ALLOC_C
HannesTschofenig 0:796d0f61a05b 1564
HannesTschofenig 0:796d0f61a05b 1565 /**
HannesTschofenig 0:796d0f61a05b 1566 * \def POLARSSL_NET_C
HannesTschofenig 0:796d0f61a05b 1567 *
HannesTschofenig 0:796d0f61a05b 1568 * Enable the TCP/IP networking routines.
HannesTschofenig 0:796d0f61a05b 1569 *
HannesTschofenig 0:796d0f61a05b 1570 * Module: library/net.c
HannesTschofenig 0:796d0f61a05b 1571 *
HannesTschofenig 0:796d0f61a05b 1572 * This module provides TCP/IP networking routines.
HannesTschofenig 0:796d0f61a05b 1573 */
HannesTschofenig 0:796d0f61a05b 1574 #define POLARSSL_NET_C
HannesTschofenig 0:796d0f61a05b 1575
HannesTschofenig 0:796d0f61a05b 1576 /**
HannesTschofenig 0:796d0f61a05b 1577 * \def POLARSSL_OID_C
HannesTschofenig 0:796d0f61a05b 1578 *
HannesTschofenig 0:796d0f61a05b 1579 * Enable the OID database.
HannesTschofenig 0:796d0f61a05b 1580 *
HannesTschofenig 0:796d0f61a05b 1581 * Module: library/oid.c
HannesTschofenig 0:796d0f61a05b 1582 * Caller: library/asn1write.c
HannesTschofenig 0:796d0f61a05b 1583 * library/pkcs5.c
HannesTschofenig 0:796d0f61a05b 1584 * library/pkparse.c
HannesTschofenig 0:796d0f61a05b 1585 * library/pkwrite.c
HannesTschofenig 0:796d0f61a05b 1586 * library/rsa.c
HannesTschofenig 0:796d0f61a05b 1587 * library/x509.c
HannesTschofenig 0:796d0f61a05b 1588 * library/x509_create.c
HannesTschofenig 0:796d0f61a05b 1589 * library/x509_crl.c
HannesTschofenig 0:796d0f61a05b 1590 * library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1591 * library/x509_csr.c
HannesTschofenig 0:796d0f61a05b 1592 * library/x509write_crt.c
HannesTschofenig 0:796d0f61a05b 1593 * library/x509write_csr.c
HannesTschofenig 0:796d0f61a05b 1594 *
HannesTschofenig 0:796d0f61a05b 1595 * This modules translates between OIDs and internal values.
HannesTschofenig 0:796d0f61a05b 1596 */
HannesTschofenig 0:796d0f61a05b 1597 #define POLARSSL_OID_C
HannesTschofenig 0:796d0f61a05b 1598
HannesTschofenig 0:796d0f61a05b 1599 /**
HannesTschofenig 0:796d0f61a05b 1600 * \def POLARSSL_PADLOCK_C
HannesTschofenig 0:796d0f61a05b 1601 *
HannesTschofenig 0:796d0f61a05b 1602 * Enable VIA Padlock support on x86.
HannesTschofenig 0:796d0f61a05b 1603 *
HannesTschofenig 0:796d0f61a05b 1604 * Module: library/padlock.c
HannesTschofenig 0:796d0f61a05b 1605 * Caller: library/aes.c
HannesTschofenig 0:796d0f61a05b 1606 *
HannesTschofenig 0:796d0f61a05b 1607 * Requires: POLARSSL_HAVE_ASM
HannesTschofenig 0:796d0f61a05b 1608 *
HannesTschofenig 0:796d0f61a05b 1609 * This modules adds support for the VIA PadLock on x86.
HannesTschofenig 0:796d0f61a05b 1610 */
HannesTschofenig 0:796d0f61a05b 1611 #define POLARSSL_PADLOCK_C
HannesTschofenig 0:796d0f61a05b 1612
HannesTschofenig 0:796d0f61a05b 1613 /**
HannesTschofenig 0:796d0f61a05b 1614 * \def POLARSSL_PBKDF2_C
HannesTschofenig 0:796d0f61a05b 1615 *
HannesTschofenig 0:796d0f61a05b 1616 * Enable PKCS#5 PBKDF2 key derivation function.
HannesTschofenig 0:796d0f61a05b 1617 * DEPRECATED: Use POLARSSL_PKCS5_C instead
HannesTschofenig 0:796d0f61a05b 1618 *
HannesTschofenig 0:796d0f61a05b 1619 * Module: library/pbkdf2.c
HannesTschofenig 0:796d0f61a05b 1620 *
HannesTschofenig 0:796d0f61a05b 1621 * Requires: POLARSSL_PKCS5_C
HannesTschofenig 0:796d0f61a05b 1622 *
HannesTschofenig 0:796d0f61a05b 1623 * This module adds support for the PKCS#5 PBKDF2 key derivation function.
HannesTschofenig 0:796d0f61a05b 1624 */
HannesTschofenig 0:796d0f61a05b 1625 #define POLARSSL_PBKDF2_C
HannesTschofenig 0:796d0f61a05b 1626
HannesTschofenig 0:796d0f61a05b 1627 /**
HannesTschofenig 0:796d0f61a05b 1628 * \def POLARSSL_PEM_PARSE_C
HannesTschofenig 0:796d0f61a05b 1629 *
HannesTschofenig 0:796d0f61a05b 1630 * Enable PEM decoding / parsing.
HannesTschofenig 0:796d0f61a05b 1631 *
HannesTschofenig 0:796d0f61a05b 1632 * Module: library/pem.c
HannesTschofenig 0:796d0f61a05b 1633 * Caller: library/dhm.c
HannesTschofenig 0:796d0f61a05b 1634 * library/pkparse.c
HannesTschofenig 0:796d0f61a05b 1635 * library/x509_crl.c
HannesTschofenig 0:796d0f61a05b 1636 * library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1637 * library/x509_csr.c
HannesTschofenig 0:796d0f61a05b 1638 *
HannesTschofenig 0:796d0f61a05b 1639 * Requires: POLARSSL_BASE64_C
HannesTschofenig 0:796d0f61a05b 1640 *
HannesTschofenig 0:796d0f61a05b 1641 * This modules adds support for decoding / parsing PEM files.
HannesTschofenig 0:796d0f61a05b 1642 */
HannesTschofenig 0:796d0f61a05b 1643 #define POLARSSL_PEM_PARSE_C
HannesTschofenig 0:796d0f61a05b 1644
HannesTschofenig 0:796d0f61a05b 1645 /**
HannesTschofenig 0:796d0f61a05b 1646 * \def POLARSSL_PEM_WRITE_C
HannesTschofenig 0:796d0f61a05b 1647 *
HannesTschofenig 0:796d0f61a05b 1648 * Enable PEM encoding / writing.
HannesTschofenig 0:796d0f61a05b 1649 *
HannesTschofenig 0:796d0f61a05b 1650 * Module: library/pem.c
HannesTschofenig 0:796d0f61a05b 1651 * Caller: library/pkwrite.c
HannesTschofenig 0:796d0f61a05b 1652 * library/x509write_crt.c
HannesTschofenig 0:796d0f61a05b 1653 * library/x509write_csr.c
HannesTschofenig 0:796d0f61a05b 1654 *
HannesTschofenig 0:796d0f61a05b 1655 * Requires: POLARSSL_BASE64_C
HannesTschofenig 0:796d0f61a05b 1656 *
HannesTschofenig 0:796d0f61a05b 1657 * This modules adds support for encoding / writing PEM files.
HannesTschofenig 0:796d0f61a05b 1658 */
HannesTschofenig 0:796d0f61a05b 1659 #define POLARSSL_PEM_WRITE_C
HannesTschofenig 0:796d0f61a05b 1660
HannesTschofenig 0:796d0f61a05b 1661 /**
HannesTschofenig 0:796d0f61a05b 1662 * \def POLARSSL_PK_C
HannesTschofenig 0:796d0f61a05b 1663 *
HannesTschofenig 0:796d0f61a05b 1664 * Enable the generic public (asymetric) key layer.
HannesTschofenig 0:796d0f61a05b 1665 *
HannesTschofenig 0:796d0f61a05b 1666 * Module: library/pk.c
HannesTschofenig 0:796d0f61a05b 1667 * Caller: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1668 * library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1669 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1670 *
HannesTschofenig 0:796d0f61a05b 1671 * Requires: POLARSSL_RSA_C or POLARSSL_ECP_C
HannesTschofenig 0:796d0f61a05b 1672 *
HannesTschofenig 0:796d0f61a05b 1673 * Uncomment to enable generic public key wrappers.
HannesTschofenig 0:796d0f61a05b 1674 */
HannesTschofenig 0:796d0f61a05b 1675 #define POLARSSL_PK_C
HannesTschofenig 0:796d0f61a05b 1676
HannesTschofenig 0:796d0f61a05b 1677 /**
HannesTschofenig 0:796d0f61a05b 1678 * \def POLARSSL_PK_PARSE_C
HannesTschofenig 0:796d0f61a05b 1679 *
HannesTschofenig 0:796d0f61a05b 1680 * Enable the generic public (asymetric) key parser.
HannesTschofenig 0:796d0f61a05b 1681 *
HannesTschofenig 0:796d0f61a05b 1682 * Module: library/pkparse.c
HannesTschofenig 0:796d0f61a05b 1683 * Caller: library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1684 * library/x509_csr.c
HannesTschofenig 0:796d0f61a05b 1685 *
HannesTschofenig 0:796d0f61a05b 1686 * Requires: POLARSSL_PK_C
HannesTschofenig 0:796d0f61a05b 1687 *
HannesTschofenig 0:796d0f61a05b 1688 * Uncomment to enable generic public key parse functions.
HannesTschofenig 0:796d0f61a05b 1689 */
HannesTschofenig 0:796d0f61a05b 1690 #define POLARSSL_PK_PARSE_C
HannesTschofenig 0:796d0f61a05b 1691
HannesTschofenig 0:796d0f61a05b 1692 /**
HannesTschofenig 0:796d0f61a05b 1693 * \def POLARSSL_PK_WRITE_C
HannesTschofenig 0:796d0f61a05b 1694 *
HannesTschofenig 0:796d0f61a05b 1695 * Enable the generic public (asymetric) key writer.
HannesTschofenig 0:796d0f61a05b 1696 *
HannesTschofenig 0:796d0f61a05b 1697 * Module: library/pkwrite.c
HannesTschofenig 0:796d0f61a05b 1698 * Caller: library/x509write.c
HannesTschofenig 0:796d0f61a05b 1699 *
HannesTschofenig 0:796d0f61a05b 1700 * Requires: POLARSSL_PK_C
HannesTschofenig 0:796d0f61a05b 1701 *
HannesTschofenig 0:796d0f61a05b 1702 * Uncomment to enable generic public key write functions.
HannesTschofenig 0:796d0f61a05b 1703 */
HannesTschofenig 0:796d0f61a05b 1704 #define POLARSSL_PK_WRITE_C
HannesTschofenig 0:796d0f61a05b 1705
HannesTschofenig 0:796d0f61a05b 1706 /**
HannesTschofenig 0:796d0f61a05b 1707 * \def POLARSSL_PKCS5_C
HannesTschofenig 0:796d0f61a05b 1708 *
HannesTschofenig 0:796d0f61a05b 1709 * Enable PKCS#5 functions.
HannesTschofenig 0:796d0f61a05b 1710 *
HannesTschofenig 0:796d0f61a05b 1711 * Module: library/pkcs5.c
HannesTschofenig 0:796d0f61a05b 1712 *
HannesTschofenig 0:796d0f61a05b 1713 * Requires: POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1714 *
HannesTschofenig 0:796d0f61a05b 1715 * This module adds support for the PKCS#5 functions.
HannesTschofenig 0:796d0f61a05b 1716 */
HannesTschofenig 0:796d0f61a05b 1717 #define POLARSSL_PKCS5_C
HannesTschofenig 0:796d0f61a05b 1718
HannesTschofenig 0:796d0f61a05b 1719 /**
HannesTschofenig 0:796d0f61a05b 1720 * \def POLARSSL_PKCS11_C
HannesTschofenig 0:796d0f61a05b 1721 *
HannesTschofenig 0:796d0f61a05b 1722 * Enable wrapper for PKCS#11 smartcard support.
HannesTschofenig 0:796d0f61a05b 1723 *
HannesTschofenig 0:796d0f61a05b 1724 * Module: library/pkcs11.c
HannesTschofenig 0:796d0f61a05b 1725 * Caller: library/pk.c
HannesTschofenig 0:796d0f61a05b 1726 *
HannesTschofenig 0:796d0f61a05b 1727 * Requires: POLARSSL_PK_C
HannesTschofenig 0:796d0f61a05b 1728 *
HannesTschofenig 0:796d0f61a05b 1729 * This module enables SSL/TLS PKCS #11 smartcard support.
HannesTschofenig 0:796d0f61a05b 1730 * Requires the presence of the PKCS#11 helper library (libpkcs11-helper)
HannesTschofenig 0:796d0f61a05b 1731 */
HannesTschofenig 0:796d0f61a05b 1732 //#define POLARSSL_PKCS11_C
HannesTschofenig 0:796d0f61a05b 1733
HannesTschofenig 0:796d0f61a05b 1734 /**
HannesTschofenig 0:796d0f61a05b 1735 * \def POLARSSL_PKCS12_C
HannesTschofenig 0:796d0f61a05b 1736 *
HannesTschofenig 0:796d0f61a05b 1737 * Enable PKCS#12 PBE functions.
HannesTschofenig 0:796d0f61a05b 1738 * Adds algorithms for parsing PKCS#8 encrypted private keys
HannesTschofenig 0:796d0f61a05b 1739 *
HannesTschofenig 0:796d0f61a05b 1740 * Module: library/pkcs12.c
HannesTschofenig 0:796d0f61a05b 1741 * Caller: library/pkparse.c
HannesTschofenig 0:796d0f61a05b 1742 *
HannesTschofenig 0:796d0f61a05b 1743 * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_CIPHER_C, POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1744 * Can use: POLARSSL_ARC4_C
HannesTschofenig 0:796d0f61a05b 1745 *
HannesTschofenig 0:796d0f61a05b 1746 * This module enables PKCS#12 functions.
HannesTschofenig 0:796d0f61a05b 1747 */
HannesTschofenig 0:796d0f61a05b 1748 #define POLARSSL_PKCS12_C
HannesTschofenig 0:796d0f61a05b 1749
HannesTschofenig 0:796d0f61a05b 1750 /**
HannesTschofenig 0:796d0f61a05b 1751 * \def POLARSSL_PLATFORM_C
HannesTschofenig 0:796d0f61a05b 1752 *
HannesTschofenig 0:796d0f61a05b 1753 * Enable the platform abstraction layer that allows you to re-assign
HannesTschofenig 0:796d0f61a05b 1754 * functions like malloc(), free(), printf(), fprintf()
HannesTschofenig 0:796d0f61a05b 1755 *
HannesTschofenig 0:796d0f61a05b 1756 * Module: library/platform.c
HannesTschofenig 0:796d0f61a05b 1757 * Caller: Most other .c files
HannesTschofenig 0:796d0f61a05b 1758 *
HannesTschofenig 0:796d0f61a05b 1759 * This module enables abstraction of common (libc) functions.
HannesTschofenig 0:796d0f61a05b 1760 */
HannesTschofenig 0:796d0f61a05b 1761 #define POLARSSL_PLATFORM_C
HannesTschofenig 0:796d0f61a05b 1762
HannesTschofenig 0:796d0f61a05b 1763 /**
HannesTschofenig 0:796d0f61a05b 1764 * \def POLARSSL_RIPEMD160_C
HannesTschofenig 0:796d0f61a05b 1765 *
HannesTschofenig 0:796d0f61a05b 1766 * Enable the RIPEMD-160 hash algorithm.
HannesTschofenig 0:796d0f61a05b 1767 *
HannesTschofenig 0:796d0f61a05b 1768 * Module: library/ripemd160.c
HannesTschofenig 0:796d0f61a05b 1769 * Caller: library/md.c
HannesTschofenig 0:796d0f61a05b 1770 *
HannesTschofenig 0:796d0f61a05b 1771 */
HannesTschofenig 0:796d0f61a05b 1772 #define POLARSSL_RIPEMD160_C
HannesTschofenig 0:796d0f61a05b 1773
HannesTschofenig 0:796d0f61a05b 1774 /**
HannesTschofenig 0:796d0f61a05b 1775 * \def POLARSSL_RSA_C
HannesTschofenig 0:796d0f61a05b 1776 *
HannesTschofenig 0:796d0f61a05b 1777 * Enable the RSA public-key cryptosystem.
HannesTschofenig 0:796d0f61a05b 1778 *
HannesTschofenig 0:796d0f61a05b 1779 * Module: library/rsa.c
HannesTschofenig 0:796d0f61a05b 1780 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1781 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1782 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1783 * library/x509.c
HannesTschofenig 0:796d0f61a05b 1784 *
HannesTschofenig 0:796d0f61a05b 1785 * This module is used by the following key exchanges:
HannesTschofenig 0:796d0f61a05b 1786 * RSA, DHE-RSA, ECDHE-RSA, RSA-PSK
HannesTschofenig 0:796d0f61a05b 1787 *
HannesTschofenig 0:796d0f61a05b 1788 * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C
HannesTschofenig 0:796d0f61a05b 1789 */
HannesTschofenig 0:796d0f61a05b 1790 #define POLARSSL_RSA_C
HannesTschofenig 0:796d0f61a05b 1791
HannesTschofenig 0:796d0f61a05b 1792 /**
HannesTschofenig 0:796d0f61a05b 1793 * \def POLARSSL_SHA1_C
HannesTschofenig 0:796d0f61a05b 1794 *
HannesTschofenig 0:796d0f61a05b 1795 * Enable the SHA1 cryptographic hash algorithm.
HannesTschofenig 0:796d0f61a05b 1796 *
HannesTschofenig 0:796d0f61a05b 1797 * Module: library/sha1.c
HannesTschofenig 0:796d0f61a05b 1798 * Caller: library/md.c
HannesTschofenig 0:796d0f61a05b 1799 * library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1800 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1801 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1802 * library/x509write_crt.c
HannesTschofenig 0:796d0f61a05b 1803 *
HannesTschofenig 0:796d0f61a05b 1804 * This module is required for SSL/TLS and SHA1-signed certificates.
HannesTschofenig 0:796d0f61a05b 1805 */
HannesTschofenig 0:796d0f61a05b 1806 #define POLARSSL_SHA1_C
HannesTschofenig 0:796d0f61a05b 1807
HannesTschofenig 0:796d0f61a05b 1808 /**
HannesTschofenig 0:796d0f61a05b 1809 * \def POLARSSL_SHA256_C
HannesTschofenig 0:796d0f61a05b 1810 *
HannesTschofenig 0:796d0f61a05b 1811 * Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
HannesTschofenig 0:796d0f61a05b 1812 * (Used to be POLARSSL_SHA2_C)
HannesTschofenig 0:796d0f61a05b 1813 *
HannesTschofenig 0:796d0f61a05b 1814 * Module: library/sha256.c
HannesTschofenig 0:796d0f61a05b 1815 * Caller: library/entropy.c
HannesTschofenig 0:796d0f61a05b 1816 * library/md.c
HannesTschofenig 0:796d0f61a05b 1817 * library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1818 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1819 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1820 *
HannesTschofenig 0:796d0f61a05b 1821 * This module adds support for SHA-224 and SHA-256.
HannesTschofenig 0:796d0f61a05b 1822 * This module is required for the SSL/TLS 1.2 PRF function.
HannesTschofenig 0:796d0f61a05b 1823 */
HannesTschofenig 0:796d0f61a05b 1824 #define POLARSSL_SHA256_C
HannesTschofenig 0:796d0f61a05b 1825
HannesTschofenig 0:796d0f61a05b 1826 /**
HannesTschofenig 0:796d0f61a05b 1827 * \def POLARSSL_SHA512_C
HannesTschofenig 0:796d0f61a05b 1828 *
HannesTschofenig 0:796d0f61a05b 1829 * Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
HannesTschofenig 0:796d0f61a05b 1830 * (Used to be POLARSSL_SHA4_C)
HannesTschofenig 0:796d0f61a05b 1831 *
HannesTschofenig 0:796d0f61a05b 1832 * Module: library/sha512.c
HannesTschofenig 0:796d0f61a05b 1833 * Caller: library/entropy.c
HannesTschofenig 0:796d0f61a05b 1834 * library/md.c
HannesTschofenig 0:796d0f61a05b 1835 * library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1836 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1837 *
HannesTschofenig 0:796d0f61a05b 1838 * This module adds support for SHA-384 and SHA-512.
HannesTschofenig 0:796d0f61a05b 1839 */
HannesTschofenig 0:796d0f61a05b 1840 #define POLARSSL_SHA512_C
HannesTschofenig 0:796d0f61a05b 1841
HannesTschofenig 0:796d0f61a05b 1842 /**
HannesTschofenig 0:796d0f61a05b 1843 * \def POLARSSL_SSL_CACHE_C
HannesTschofenig 0:796d0f61a05b 1844 *
HannesTschofenig 0:796d0f61a05b 1845 * Enable simple SSL cache implementation.
HannesTschofenig 0:796d0f61a05b 1846 *
HannesTschofenig 0:796d0f61a05b 1847 * Module: library/ssl_cache.c
HannesTschofenig 0:796d0f61a05b 1848 * Caller:
HannesTschofenig 0:796d0f61a05b 1849 *
HannesTschofenig 0:796d0f61a05b 1850 * Requires: POLARSSL_SSL_CACHE_C
HannesTschofenig 0:796d0f61a05b 1851 */
HannesTschofenig 0:796d0f61a05b 1852 #define POLARSSL_SSL_CACHE_C
HannesTschofenig 0:796d0f61a05b 1853
HannesTschofenig 0:796d0f61a05b 1854 /**
HannesTschofenig 0:796d0f61a05b 1855 * \def POLARSSL_SSL_CLI_C
HannesTschofenig 0:796d0f61a05b 1856 *
HannesTschofenig 0:796d0f61a05b 1857 * Enable the SSL/TLS client code.
HannesTschofenig 0:796d0f61a05b 1858 *
HannesTschofenig 0:796d0f61a05b 1859 * Module: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1860 * Caller:
HannesTschofenig 0:796d0f61a05b 1861 *
HannesTschofenig 0:796d0f61a05b 1862 * Requires: POLARSSL_SSL_TLS_C
HannesTschofenig 0:796d0f61a05b 1863 *
HannesTschofenig 0:796d0f61a05b 1864 * This module is required for SSL/TLS client support.
HannesTschofenig 0:796d0f61a05b 1865 */
HannesTschofenig 0:796d0f61a05b 1866 #define POLARSSL_SSL_CLI_C
HannesTschofenig 0:796d0f61a05b 1867
HannesTschofenig 0:796d0f61a05b 1868 /**
HannesTschofenig 0:796d0f61a05b 1869 * \def POLARSSL_SSL_SRV_C
HannesTschofenig 0:796d0f61a05b 1870 *
HannesTschofenig 0:796d0f61a05b 1871 * Enable the SSL/TLS server code.
HannesTschofenig 0:796d0f61a05b 1872 *
HannesTschofenig 0:796d0f61a05b 1873 * Module: library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1874 * Caller:
HannesTschofenig 0:796d0f61a05b 1875 *
HannesTschofenig 0:796d0f61a05b 1876 * Requires: POLARSSL_SSL_TLS_C
HannesTschofenig 0:796d0f61a05b 1877 *
HannesTschofenig 0:796d0f61a05b 1878 * This module is required for SSL/TLS server support.
HannesTschofenig 0:796d0f61a05b 1879 */
HannesTschofenig 0:796d0f61a05b 1880 #define POLARSSL_SSL_SRV_C
HannesTschofenig 0:796d0f61a05b 1881
HannesTschofenig 0:796d0f61a05b 1882 /**
HannesTschofenig 0:796d0f61a05b 1883 * \def POLARSSL_SSL_TLS_C
HannesTschofenig 0:796d0f61a05b 1884 *
HannesTschofenig 0:796d0f61a05b 1885 * Enable the generic SSL/TLS code.
HannesTschofenig 0:796d0f61a05b 1886 *
HannesTschofenig 0:796d0f61a05b 1887 * Module: library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1888 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1889 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1890 *
HannesTschofenig 0:796d0f61a05b 1891 * Requires: POLARSSL_CIPHER_C, POLARSSL_MD_C
HannesTschofenig 0:796d0f61a05b 1892 * and at least one of the POLARSSL_SSL_PROTO_* defines
HannesTschofenig 0:796d0f61a05b 1893 *
HannesTschofenig 0:796d0f61a05b 1894 * This module is required for SSL/TLS.
HannesTschofenig 0:796d0f61a05b 1895 */
HannesTschofenig 0:796d0f61a05b 1896 #define POLARSSL_SSL_TLS_C
HannesTschofenig 0:796d0f61a05b 1897
HannesTschofenig 0:796d0f61a05b 1898 /**
HannesTschofenig 0:796d0f61a05b 1899 * \def POLARSSL_THREADING_C
HannesTschofenig 0:796d0f61a05b 1900 *
HannesTschofenig 0:796d0f61a05b 1901 * Enable the threading abstraction layer.
HannesTschofenig 0:796d0f61a05b 1902 * By default PolarSSL assumes it is used in a non-threaded environment or that
HannesTschofenig 0:796d0f61a05b 1903 * contexts are not shared between threads. If you do intend to use contexts
HannesTschofenig 0:796d0f61a05b 1904 * between threads, you will need to enable this layer to prevent race
HannesTschofenig 0:796d0f61a05b 1905 * conditions.
HannesTschofenig 0:796d0f61a05b 1906 *
HannesTschofenig 0:796d0f61a05b 1907 * Module: library/threading.c
HannesTschofenig 0:796d0f61a05b 1908 *
HannesTschofenig 0:796d0f61a05b 1909 * This allows different threading implementations (self-implemented or
HannesTschofenig 0:796d0f61a05b 1910 * provided).
HannesTschofenig 0:796d0f61a05b 1911 *
HannesTschofenig 0:796d0f61a05b 1912 * You will have to enable either POLARSSL_THREADING_ALT or
HannesTschofenig 0:796d0f61a05b 1913 * POLARSSL_THREADING_PTHREAD.
HannesTschofenig 0:796d0f61a05b 1914 *
HannesTschofenig 0:796d0f61a05b 1915 * Enable this layer to allow use of mutexes within PolarSSL
HannesTschofenig 0:796d0f61a05b 1916 */
HannesTschofenig 0:796d0f61a05b 1917 //#define POLARSSL_THREADING_C
HannesTschofenig 0:796d0f61a05b 1918
HannesTschofenig 0:796d0f61a05b 1919 /**
HannesTschofenig 0:796d0f61a05b 1920 * \def POLARSSL_TIMING_C
HannesTschofenig 0:796d0f61a05b 1921 *
HannesTschofenig 0:796d0f61a05b 1922 * Enable the portable timing interface.
HannesTschofenig 0:796d0f61a05b 1923 *
HannesTschofenig 0:796d0f61a05b 1924 * Module: library/timing.c
HannesTschofenig 0:796d0f61a05b 1925 * Caller: library/havege.c
HannesTschofenig 0:796d0f61a05b 1926 *
HannesTschofenig 0:796d0f61a05b 1927 * This module is used by the HAVEGE random number generator.
HannesTschofenig 0:796d0f61a05b 1928 */
HannesTschofenig 0:796d0f61a05b 1929 #define POLARSSL_TIMING_C
HannesTschofenig 0:796d0f61a05b 1930
HannesTschofenig 0:796d0f61a05b 1931 /**
HannesTschofenig 0:796d0f61a05b 1932 * \def POLARSSL_VERSION_C
HannesTschofenig 0:796d0f61a05b 1933 *
HannesTschofenig 0:796d0f61a05b 1934 * Enable run-time version information.
HannesTschofenig 0:796d0f61a05b 1935 *
HannesTschofenig 0:796d0f61a05b 1936 * Module: library/version.c
HannesTschofenig 0:796d0f61a05b 1937 *
HannesTschofenig 0:796d0f61a05b 1938 * This module provides run-time version information.
HannesTschofenig 0:796d0f61a05b 1939 */
HannesTschofenig 0:796d0f61a05b 1940 #define POLARSSL_VERSION_C
HannesTschofenig 0:796d0f61a05b 1941
HannesTschofenig 0:796d0f61a05b 1942 /**
HannesTschofenig 0:796d0f61a05b 1943 * \def POLARSSL_X509_USE_C
HannesTschofenig 0:796d0f61a05b 1944 *
HannesTschofenig 0:796d0f61a05b 1945 * Enable X.509 core for using certificates.
HannesTschofenig 0:796d0f61a05b 1946 *
HannesTschofenig 0:796d0f61a05b 1947 * Module: library/x509.c
HannesTschofenig 0:796d0f61a05b 1948 * Caller: library/x509_crl.c
HannesTschofenig 0:796d0f61a05b 1949 * library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1950 * library/x509_csr.c
HannesTschofenig 0:796d0f61a05b 1951 *
HannesTschofenig 0:796d0f61a05b 1952 * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_OID_C,
HannesTschofenig 0:796d0f61a05b 1953 * POLARSSL_PK_PARSE_C
HannesTschofenig 0:796d0f61a05b 1954 *
HannesTschofenig 0:796d0f61a05b 1955 * This module is required for the X.509 parsing modules.
HannesTschofenig 0:796d0f61a05b 1956 */
HannesTschofenig 0:796d0f61a05b 1957 #define POLARSSL_X509_USE_C
HannesTschofenig 0:796d0f61a05b 1958
HannesTschofenig 0:796d0f61a05b 1959 /**
HannesTschofenig 0:796d0f61a05b 1960 * \def POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 1961 *
HannesTschofenig 0:796d0f61a05b 1962 * Enable X.509 certificate parsing.
HannesTschofenig 0:796d0f61a05b 1963 *
HannesTschofenig 0:796d0f61a05b 1964 * Module: library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1965 * Caller: library/ssl_cli.c
HannesTschofenig 0:796d0f61a05b 1966 * library/ssl_srv.c
HannesTschofenig 0:796d0f61a05b 1967 * library/ssl_tls.c
HannesTschofenig 0:796d0f61a05b 1968 *
HannesTschofenig 0:796d0f61a05b 1969 * Requires: POLARSSL_X509_USE_C
HannesTschofenig 0:796d0f61a05b 1970 *
HannesTschofenig 0:796d0f61a05b 1971 * This module is required for X.509 certificate parsing.
HannesTschofenig 0:796d0f61a05b 1972 */
HannesTschofenig 0:796d0f61a05b 1973 #define POLARSSL_X509_CRT_PARSE_C
HannesTschofenig 0:796d0f61a05b 1974
HannesTschofenig 0:796d0f61a05b 1975 /**
HannesTschofenig 0:796d0f61a05b 1976 * \def POLARSSL_X509_CRL_PARSE_C
HannesTschofenig 0:796d0f61a05b 1977 *
HannesTschofenig 0:796d0f61a05b 1978 * Enable X.509 CRL parsing.
HannesTschofenig 0:796d0f61a05b 1979 *
HannesTschofenig 0:796d0f61a05b 1980 * Module: library/x509_crl.c
HannesTschofenig 0:796d0f61a05b 1981 * Caller: library/x509_crt.c
HannesTschofenig 0:796d0f61a05b 1982 *
HannesTschofenig 0:796d0f61a05b 1983 * Requires: POLARSSL_X509_USE_C
HannesTschofenig 0:796d0f61a05b 1984 *
HannesTschofenig 0:796d0f61a05b 1985 * This module is required for X.509 CRL parsing.
HannesTschofenig 0:796d0f61a05b 1986 */
HannesTschofenig 0:796d0f61a05b 1987 #define POLARSSL_X509_CRL_PARSE_C
HannesTschofenig 0:796d0f61a05b 1988
HannesTschofenig 0:796d0f61a05b 1989 /**
HannesTschofenig 0:796d0f61a05b 1990 * \def POLARSSL_X509_CSR_PARSE_C
HannesTschofenig 0:796d0f61a05b 1991 *
HannesTschofenig 0:796d0f61a05b 1992 * Enable X.509 Certificate Signing Request (CSR) parsing.
HannesTschofenig 0:796d0f61a05b 1993 *
HannesTschofenig 0:796d0f61a05b 1994 * Module: library/x509_csr.c
HannesTschofenig 0:796d0f61a05b 1995 * Caller: library/x509_crt_write.c
HannesTschofenig 0:796d0f61a05b 1996 *
HannesTschofenig 0:796d0f61a05b 1997 * Requires: POLARSSL_X509_USE_C
HannesTschofenig 0:796d0f61a05b 1998 *
HannesTschofenig 0:796d0f61a05b 1999 * This module is used for reading X.509 certificate request.
HannesTschofenig 0:796d0f61a05b 2000 */
HannesTschofenig 0:796d0f61a05b 2001 #define POLARSSL_X509_CSR_PARSE_C
HannesTschofenig 0:796d0f61a05b 2002
HannesTschofenig 0:796d0f61a05b 2003 /**
HannesTschofenig 0:796d0f61a05b 2004 * \def POLARSSL_X509_CREATE_C
HannesTschofenig 0:796d0f61a05b 2005 *
HannesTschofenig 0:796d0f61a05b 2006 * Enable X.509 core for creating certificates.
HannesTschofenig 0:796d0f61a05b 2007 *
HannesTschofenig 0:796d0f61a05b 2008 * Module: library/x509_create.c
HannesTschofenig 0:796d0f61a05b 2009 *
HannesTschofenig 0:796d0f61a05b 2010 * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C, POLARSSL_PK_WRITE_C
HannesTschofenig 0:796d0f61a05b 2011 *
HannesTschofenig 0:796d0f61a05b 2012 * This module is the basis for creating X.509 certificates and CSRs.
HannesTschofenig 0:796d0f61a05b 2013 */
HannesTschofenig 0:796d0f61a05b 2014 #define POLARSSL_X509_CREATE_C
HannesTschofenig 0:796d0f61a05b 2015
HannesTschofenig 0:796d0f61a05b 2016 /**
HannesTschofenig 0:796d0f61a05b 2017 * \def POLARSSL_X509_CRT_WRITE_C
HannesTschofenig 0:796d0f61a05b 2018 *
HannesTschofenig 0:796d0f61a05b 2019 * Enable creating X.509 certificates.
HannesTschofenig 0:796d0f61a05b 2020 *
HannesTschofenig 0:796d0f61a05b 2021 * Module: library/x509_crt_write.c
HannesTschofenig 0:796d0f61a05b 2022 *
HannesTschofenig 0:796d0f61a05b 2023 * Requires: POLARSSL_CREATE_C
HannesTschofenig 0:796d0f61a05b 2024 *
HannesTschofenig 0:796d0f61a05b 2025 * This module is required for X.509 certificate creation.
HannesTschofenig 0:796d0f61a05b 2026 */
HannesTschofenig 0:796d0f61a05b 2027 #define POLARSSL_X509_CRT_WRITE_C
HannesTschofenig 0:796d0f61a05b 2028
HannesTschofenig 0:796d0f61a05b 2029 /**
HannesTschofenig 0:796d0f61a05b 2030 * \def POLARSSL_X509_CSR_WRITE_C
HannesTschofenig 0:796d0f61a05b 2031 *
HannesTschofenig 0:796d0f61a05b 2032 * Enable creating X.509 Certificate Signing Requests (CSR).
HannesTschofenig 0:796d0f61a05b 2033 *
HannesTschofenig 0:796d0f61a05b 2034 * Module: library/x509_csr_write.c
HannesTschofenig 0:796d0f61a05b 2035 *
HannesTschofenig 0:796d0f61a05b 2036 * Requires: POLARSSL_CREATE_C
HannesTschofenig 0:796d0f61a05b 2037 *
HannesTschofenig 0:796d0f61a05b 2038 * This module is required for X.509 certificate request writing.
HannesTschofenig 0:796d0f61a05b 2039 */
HannesTschofenig 0:796d0f61a05b 2040 #define POLARSSL_X509_CSR_WRITE_C
HannesTschofenig 0:796d0f61a05b 2041
HannesTschofenig 0:796d0f61a05b 2042 /**
HannesTschofenig 0:796d0f61a05b 2043 * \def POLARSSL_XTEA_C
HannesTschofenig 0:796d0f61a05b 2044 *
HannesTschofenig 0:796d0f61a05b 2045 * Enable the XTEA block cipher.
HannesTschofenig 0:796d0f61a05b 2046 *
HannesTschofenig 0:796d0f61a05b 2047 * Module: library/xtea.c
HannesTschofenig 0:796d0f61a05b 2048 * Caller:
HannesTschofenig 0:796d0f61a05b 2049 */
HannesTschofenig 0:796d0f61a05b 2050 #define POLARSSL_XTEA_C
HannesTschofenig 0:796d0f61a05b 2051
HannesTschofenig 0:796d0f61a05b 2052 /* \} name SECTION: PolarSSL modules */
HannesTschofenig 0:796d0f61a05b 2053
HannesTschofenig 0:796d0f61a05b 2054 /**
HannesTschofenig 0:796d0f61a05b 2055 * \name SECTION: Module configuration options
HannesTschofenig 0:796d0f61a05b 2056 *
HannesTschofenig 0:796d0f61a05b 2057 * This section allows for the setting of module specific sizes and
HannesTschofenig 0:796d0f61a05b 2058 * configuration options. The default values are already present in the
HannesTschofenig 0:796d0f61a05b 2059 * relevant header files and should suffice for the regular use cases.
HannesTschofenig 0:796d0f61a05b 2060 *
HannesTschofenig 0:796d0f61a05b 2061 * Our advice is to enable options and change their values here
HannesTschofenig 0:796d0f61a05b 2062 * only if you have a good reason and know the consequences.
HannesTschofenig 0:796d0f61a05b 2063 *
HannesTschofenig 0:796d0f61a05b 2064 * Please check the respective header file for documentation on these
HannesTschofenig 0:796d0f61a05b 2065 * parameters (to prevent duplicate documentation).
HannesTschofenig 0:796d0f61a05b 2066 * \{
HannesTschofenig 0:796d0f61a05b 2067 */
HannesTschofenig 0:796d0f61a05b 2068
HannesTschofenig 0:796d0f61a05b 2069 /* MPI / BIGNUM options */
HannesTschofenig 0:796d0f61a05b 2070 //#define POLARSSL_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */
HannesTschofenig 0:796d0f61a05b 2071 //#define POLARSSL_MPI_MAX_SIZE 512 /**< Maximum number of bytes for usable MPIs. */
HannesTschofenig 0:796d0f61a05b 2072
HannesTschofenig 0:796d0f61a05b 2073 /* CTR_DRBG options */
HannesTschofenig 0:796d0f61a05b 2074 //#define CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */
HannesTschofenig 0:796d0f61a05b 2075 //#define CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
HannesTschofenig 0:796d0f61a05b 2076 //#define CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
HannesTschofenig 0:796d0f61a05b 2077 //#define CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
HannesTschofenig 0:796d0f61a05b 2078 //#define CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
HannesTschofenig 0:796d0f61a05b 2079
HannesTschofenig 0:796d0f61a05b 2080 /* HMAC_DRBG options */
HannesTschofenig 0:796d0f61a05b 2081 //#define POLARSSL_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */
HannesTschofenig 0:796d0f61a05b 2082 //#define POLARSSL_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */
HannesTschofenig 0:796d0f61a05b 2083 //#define POLARSSL_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */
HannesTschofenig 0:796d0f61a05b 2084 //#define POLARSSL_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */
HannesTschofenig 0:796d0f61a05b 2085
HannesTschofenig 0:796d0f61a05b 2086 /* ECP options */
HannesTschofenig 0:796d0f61a05b 2087 //#define POLARSSL_ECP_MAX_BITS 521 /**< Maximum bit size of groups */
HannesTschofenig 0:796d0f61a05b 2088 //#define POLARSSL_ECP_WINDOW_SIZE 6 /**< Maximum window size used */
HannesTschofenig 0:796d0f61a05b 2089 //#define POLARSSL_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */
HannesTschofenig 0:796d0f61a05b 2090
HannesTschofenig 0:796d0f61a05b 2091 /* Entropy options */
HannesTschofenig 0:796d0f61a05b 2092 //#define ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */
HannesTschofenig 0:796d0f61a05b 2093 //#define ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */
HannesTschofenig 0:796d0f61a05b 2094
HannesTschofenig 0:796d0f61a05b 2095 /* Memory buffer allocator options */
HannesTschofenig 0:796d0f61a05b 2096 //#define MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */
HannesTschofenig 0:796d0f61a05b 2097
HannesTschofenig 0:796d0f61a05b 2098 /* Platform options */
HannesTschofenig 0:796d0f61a05b 2099 //#define POLARSSL_PLATFORM_STD_MEM_HDR <stdlib.h> /**< Header to include if POLARSSL_PLATFORM_NO_STD_FUNCTIONS is defined. Don't define if no header is needed. */
HannesTschofenig 0:796d0f61a05b 2100 //#define POLARSSL_PLATFORM_STD_MALLOC malloc /**< Default allocator to use, can be undefined */
HannesTschofenig 0:796d0f61a05b 2101 //#define POLARSSL_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */
HannesTschofenig 0:796d0f61a05b 2102 //#define POLARSSL_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */
HannesTschofenig 0:796d0f61a05b 2103 //#define POLARSSL_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */
HannesTschofenig 0:796d0f61a05b 2104
HannesTschofenig 0:796d0f61a05b 2105 /* SSL Cache options */
HannesTschofenig 0:796d0f61a05b 2106 //#define SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */
HannesTschofenig 0:796d0f61a05b 2107 //#define SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */
HannesTschofenig 0:796d0f61a05b 2108
HannesTschofenig 0:796d0f61a05b 2109 /* SSL options */
HannesTschofenig 0:796d0f61a05b 2110 //#define SSL_MAX_CONTENT_LEN 16384 /**< Size of the input / output buffer */
HannesTschofenig 0:796d0f61a05b 2111 //#define SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */
HannesTschofenig 0:796d0f61a05b 2112
HannesTschofenig 0:796d0f61a05b 2113 /* Debug options */
HannesTschofenig 0:796d0f61a05b 2114 //#define POLARSSL_DEBUG_DFL_MODE POLARSSL_DEBUG_LOG_FULL /**< Default log: Full or Raw */
HannesTschofenig 0:796d0f61a05b 2115
HannesTschofenig 0:796d0f61a05b 2116 /* \} name SECTION: Module configuration options */
HannesTschofenig 0:796d0f61a05b 2117
HannesTschofenig 0:796d0f61a05b 2118 #include "check_config.h"
HannesTschofenig 0:796d0f61a05b 2119
HannesTschofenig 0:796d0f61a05b 2120 #endif /* POLARSSL_CONFIG_H */
HannesTschofenig 0:796d0f61a05b 2121
HannesTschofenig 0:796d0f61a05b 2122