A simple CyaSSL-based HMAC-MD5 implementation. Licensed under GPL v2.
Dependents: RFrec_full RFtrans_full
The output will be base64-encoded, with trailing "==", like this:
j62o/jZsAZD9i9m+32lIuQ==
Example
#include "mbed.h" #include "hmac_md5.h" Serial pc(USBTX, USBRX); // tx, rx void main(void) { const char * key = "MySecretKey"; const char * text = "message to be signed"; char output[26]; HMAC_MD5(key, text, output); printf("result = %s\n", output); while(true){} }
settings.h@0:83f3dcfa5c8f, 2013-02-06 (annotated)
- Committer:
- igrokhotkov
- Date:
- Wed Feb 06 20:35:03 2013 +0000
- Revision:
- 0:83f3dcfa5c8f
initial revision
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
igrokhotkov | 0:83f3dcfa5c8f | 1 | /* settings.h |
igrokhotkov | 0:83f3dcfa5c8f | 2 | * |
igrokhotkov | 0:83f3dcfa5c8f | 3 | * Copyright (C) 2006-2012 Sawtooth Consulting Ltd. |
igrokhotkov | 0:83f3dcfa5c8f | 4 | * |
igrokhotkov | 0:83f3dcfa5c8f | 5 | * This file is part of CyaSSL. |
igrokhotkov | 0:83f3dcfa5c8f | 6 | * |
igrokhotkov | 0:83f3dcfa5c8f | 7 | * CyaSSL is free software; you can redistribute it and/or modify |
igrokhotkov | 0:83f3dcfa5c8f | 8 | * it under the terms of the GNU General Public License as published by |
igrokhotkov | 0:83f3dcfa5c8f | 9 | * the Free Software Foundation; either version 2 of the License, or |
igrokhotkov | 0:83f3dcfa5c8f | 10 | * (at your option) any later version. |
igrokhotkov | 0:83f3dcfa5c8f | 11 | * |
igrokhotkov | 0:83f3dcfa5c8f | 12 | * CyaSSL is distributed in the hope that it will be useful, |
igrokhotkov | 0:83f3dcfa5c8f | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
igrokhotkov | 0:83f3dcfa5c8f | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
igrokhotkov | 0:83f3dcfa5c8f | 15 | * GNU General Public License for more details. |
igrokhotkov | 0:83f3dcfa5c8f | 16 | * |
igrokhotkov | 0:83f3dcfa5c8f | 17 | * You should have received a copy of the GNU General Public License |
igrokhotkov | 0:83f3dcfa5c8f | 18 | * along with this program; if not, write to the Free Software |
igrokhotkov | 0:83f3dcfa5c8f | 19 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
igrokhotkov | 0:83f3dcfa5c8f | 20 | */ |
igrokhotkov | 0:83f3dcfa5c8f | 21 | |
igrokhotkov | 0:83f3dcfa5c8f | 22 | /* Place OS specific preprocessor flags, defines, includes here, will be |
igrokhotkov | 0:83f3dcfa5c8f | 23 | included into every file because types.h includes it */ |
igrokhotkov | 0:83f3dcfa5c8f | 24 | |
igrokhotkov | 0:83f3dcfa5c8f | 25 | |
igrokhotkov | 0:83f3dcfa5c8f | 26 | #ifndef CTAO_CRYPT_SETTINGS_H |
igrokhotkov | 0:83f3dcfa5c8f | 27 | #define CTAO_CRYPT_SETTINGS_H |
igrokhotkov | 0:83f3dcfa5c8f | 28 | |
igrokhotkov | 0:83f3dcfa5c8f | 29 | #ifdef __cplusplus |
igrokhotkov | 0:83f3dcfa5c8f | 30 | extern "C" { |
igrokhotkov | 0:83f3dcfa5c8f | 31 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 32 | |
igrokhotkov | 0:83f3dcfa5c8f | 33 | /* Uncomment next line if using IPHONE */ |
igrokhotkov | 0:83f3dcfa5c8f | 34 | /* #define IPHONE */ |
igrokhotkov | 0:83f3dcfa5c8f | 35 | |
igrokhotkov | 0:83f3dcfa5c8f | 36 | /* Uncomment next line if using ThreadX */ |
igrokhotkov | 0:83f3dcfa5c8f | 37 | /* #define THREADX */ |
igrokhotkov | 0:83f3dcfa5c8f | 38 | |
igrokhotkov | 0:83f3dcfa5c8f | 39 | /* Uncomment next line if using Micrium ucOS */ |
igrokhotkov | 0:83f3dcfa5c8f | 40 | /* #define MICRIUM */ |
igrokhotkov | 0:83f3dcfa5c8f | 41 | |
igrokhotkov | 0:83f3dcfa5c8f | 42 | /* Uncomment next line if using Mbed */ |
igrokhotkov | 0:83f3dcfa5c8f | 43 | #define MBED |
igrokhotkov | 0:83f3dcfa5c8f | 44 | |
igrokhotkov | 0:83f3dcfa5c8f | 45 | /* Uncomment next line if using Microchip PIC32 ethernet starter kit */ |
igrokhotkov | 0:83f3dcfa5c8f | 46 | /* #define MICROCHIP_PIC32 */ |
igrokhotkov | 0:83f3dcfa5c8f | 47 | |
igrokhotkov | 0:83f3dcfa5c8f | 48 | /* Uncomment next line if using FreeRTOS */ |
igrokhotkov | 0:83f3dcfa5c8f | 49 | /* #define FREERTOS */ |
igrokhotkov | 0:83f3dcfa5c8f | 50 | |
igrokhotkov | 0:83f3dcfa5c8f | 51 | /* Uncomment next line if using FreeRTOS Windows Simulator */ |
igrokhotkov | 0:83f3dcfa5c8f | 52 | /* #define FREERTOS_WINSIM */ |
igrokhotkov | 0:83f3dcfa5c8f | 53 | |
igrokhotkov | 0:83f3dcfa5c8f | 54 | /* Uncomment next line if using RTIP */ |
igrokhotkov | 0:83f3dcfa5c8f | 55 | /* #define EBSNET */ |
igrokhotkov | 0:83f3dcfa5c8f | 56 | |
igrokhotkov | 0:83f3dcfa5c8f | 57 | /* Uncomment next line if using lwip */ |
igrokhotkov | 0:83f3dcfa5c8f | 58 | /* #define CYASSL_LWIP */ |
igrokhotkov | 0:83f3dcfa5c8f | 59 | |
igrokhotkov | 0:83f3dcfa5c8f | 60 | /* Uncomment next line if building CyaSSL for a game console */ |
igrokhotkov | 0:83f3dcfa5c8f | 61 | /* #define CYASSL_GAME_BUILD */ |
igrokhotkov | 0:83f3dcfa5c8f | 62 | |
igrokhotkov | 0:83f3dcfa5c8f | 63 | /* Uncomment next line if building CyaSSL for LSR */ |
igrokhotkov | 0:83f3dcfa5c8f | 64 | /* #define CYASSL_LSR */ |
igrokhotkov | 0:83f3dcfa5c8f | 65 | |
igrokhotkov | 0:83f3dcfa5c8f | 66 | /* Uncomment next line if building CyaSSL for Freescale MQX/RTCS/MFS */ |
igrokhotkov | 0:83f3dcfa5c8f | 67 | /* #define FREESCALE_MQX */ |
igrokhotkov | 0:83f3dcfa5c8f | 68 | |
igrokhotkov | 0:83f3dcfa5c8f | 69 | /* Uncomment next line if using STM32F2 */ |
igrokhotkov | 0:83f3dcfa5c8f | 70 | /* #define CYASSL_STM32F2 */ |
igrokhotkov | 0:83f3dcfa5c8f | 71 | |
igrokhotkov | 0:83f3dcfa5c8f | 72 | |
igrokhotkov | 0:83f3dcfa5c8f | 73 | #include "visibility.h" |
igrokhotkov | 0:83f3dcfa5c8f | 74 | |
igrokhotkov | 0:83f3dcfa5c8f | 75 | /* stream ciphers except arc4 need 32bit alignment, intel ok without */ |
igrokhotkov | 0:83f3dcfa5c8f | 76 | #if defined(__x86_64__) || defined(__ia64__) || defined(__i386__) |
igrokhotkov | 0:83f3dcfa5c8f | 77 | #define NO_XSTREAM_ALIGNMENT |
igrokhotkov | 0:83f3dcfa5c8f | 78 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 79 | #define XSTREAM_ALIGNMENT |
igrokhotkov | 0:83f3dcfa5c8f | 80 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 81 | |
igrokhotkov | 0:83f3dcfa5c8f | 82 | #ifdef IPHONE |
igrokhotkov | 0:83f3dcfa5c8f | 83 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 84 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 85 | |
igrokhotkov | 0:83f3dcfa5c8f | 86 | #ifdef THREADX |
igrokhotkov | 0:83f3dcfa5c8f | 87 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 88 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 89 | |
igrokhotkov | 0:83f3dcfa5c8f | 90 | #ifdef MICROCHIP_PIC32 |
igrokhotkov | 0:83f3dcfa5c8f | 91 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 92 | #define SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 93 | #define CYASSL_USER_IO |
igrokhotkov | 0:83f3dcfa5c8f | 94 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 95 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 96 | #define NO_FILESYSTEM |
igrokhotkov | 0:83f3dcfa5c8f | 97 | #define USE_FAST_MATH |
igrokhotkov | 0:83f3dcfa5c8f | 98 | #define TFM_TIMING_RESISTANT |
igrokhotkov | 0:83f3dcfa5c8f | 99 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 100 | |
igrokhotkov | 0:83f3dcfa5c8f | 101 | #ifdef MBED |
igrokhotkov | 0:83f3dcfa5c8f | 102 | #define SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 103 | #define CYASSL_USER_IO |
igrokhotkov | 0:83f3dcfa5c8f | 104 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 105 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 106 | #define NO_SHA512 |
igrokhotkov | 0:83f3dcfa5c8f | 107 | #define NO_DH |
igrokhotkov | 0:83f3dcfa5c8f | 108 | #define NO_DSA |
igrokhotkov | 0:83f3dcfa5c8f | 109 | #define NO_HC128 |
igrokhotkov | 0:83f3dcfa5c8f | 110 | #endif /* MBED */ |
igrokhotkov | 0:83f3dcfa5c8f | 111 | |
igrokhotkov | 0:83f3dcfa5c8f | 112 | #ifdef FREERTOS_WINSIM |
igrokhotkov | 0:83f3dcfa5c8f | 113 | #define FREERTOS |
igrokhotkov | 0:83f3dcfa5c8f | 114 | #define USE_WINDOWS_API |
igrokhotkov | 0:83f3dcfa5c8f | 115 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 116 | |
igrokhotkov | 0:83f3dcfa5c8f | 117 | |
igrokhotkov | 0:83f3dcfa5c8f | 118 | #ifdef CYASSL_LEANPSK |
igrokhotkov | 0:83f3dcfa5c8f | 119 | #include <stdlib.h> |
igrokhotkov | 0:83f3dcfa5c8f | 120 | #define XMALLOC(s, h, type) malloc((s)) |
igrokhotkov | 0:83f3dcfa5c8f | 121 | #define XFREE(p, h, type) free((p)) |
igrokhotkov | 0:83f3dcfa5c8f | 122 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
igrokhotkov | 0:83f3dcfa5c8f | 123 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 124 | |
igrokhotkov | 0:83f3dcfa5c8f | 125 | |
igrokhotkov | 0:83f3dcfa5c8f | 126 | #ifdef FREERTOS |
igrokhotkov | 0:83f3dcfa5c8f | 127 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 128 | #define NO_SHA512 |
igrokhotkov | 0:83f3dcfa5c8f | 129 | #define NO_DH |
igrokhotkov | 0:83f3dcfa5c8f | 130 | #define NO_DSA |
igrokhotkov | 0:83f3dcfa5c8f | 131 | #define NO_HC128 |
igrokhotkov | 0:83f3dcfa5c8f | 132 | |
igrokhotkov | 0:83f3dcfa5c8f | 133 | #ifndef SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 134 | #include "FreeRTOS.h" |
igrokhotkov | 0:83f3dcfa5c8f | 135 | #include "semphr.h" |
igrokhotkov | 0:83f3dcfa5c8f | 136 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 137 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 138 | |
igrokhotkov | 0:83f3dcfa5c8f | 139 | #ifdef EBSNET |
igrokhotkov | 0:83f3dcfa5c8f | 140 | #include "rtip.h" |
igrokhotkov | 0:83f3dcfa5c8f | 141 | |
igrokhotkov | 0:83f3dcfa5c8f | 142 | /* #define DEBUG_CYASSL */ |
igrokhotkov | 0:83f3dcfa5c8f | 143 | #define NO_CYASSL_DIR /* tbd */ |
igrokhotkov | 0:83f3dcfa5c8f | 144 | |
igrokhotkov | 0:83f3dcfa5c8f | 145 | #if (POLLOS) |
igrokhotkov | 0:83f3dcfa5c8f | 146 | #define SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 147 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 148 | |
igrokhotkov | 0:83f3dcfa5c8f | 149 | #if (RTPLATFORM) |
igrokhotkov | 0:83f3dcfa5c8f | 150 | #if (!RTP_LITTLE_ENDIAN) |
igrokhotkov | 0:83f3dcfa5c8f | 151 | #define BIG_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 152 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 153 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 154 | #if (!KS_LITTLE_ENDIAN) |
igrokhotkov | 0:83f3dcfa5c8f | 155 | #define BIG_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 156 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 157 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 158 | |
igrokhotkov | 0:83f3dcfa5c8f | 159 | #if (WINMSP3) |
igrokhotkov | 0:83f3dcfa5c8f | 160 | #undef SIZEOF_LONG |
igrokhotkov | 0:83f3dcfa5c8f | 161 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 162 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 163 | #sslpro: settings.h - please implement SIZEOF_LONG and SIZEOF_LONG_LONG |
igrokhotkov | 0:83f3dcfa5c8f | 164 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 165 | |
igrokhotkov | 0:83f3dcfa5c8f | 166 | #define XMALLOC(s, h, type) ((void *)rtp_malloc((s), SSL_PRO_MALLOC)) |
igrokhotkov | 0:83f3dcfa5c8f | 167 | #define XFREE(p, h, type) (rtp_free(p)) |
igrokhotkov | 0:83f3dcfa5c8f | 168 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
igrokhotkov | 0:83f3dcfa5c8f | 169 | |
igrokhotkov | 0:83f3dcfa5c8f | 170 | #endif /* EBSNET */ |
igrokhotkov | 0:83f3dcfa5c8f | 171 | |
igrokhotkov | 0:83f3dcfa5c8f | 172 | #ifdef CYASSL_GAME_BUILD |
igrokhotkov | 0:83f3dcfa5c8f | 173 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 174 | #if defined(__PPU) || defined(__XENON) |
igrokhotkov | 0:83f3dcfa5c8f | 175 | #define BIG_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 176 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 177 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 178 | |
igrokhotkov | 0:83f3dcfa5c8f | 179 | #ifdef CYASSL_LSR |
igrokhotkov | 0:83f3dcfa5c8f | 180 | #define HAVE_WEBSERVER |
igrokhotkov | 0:83f3dcfa5c8f | 181 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 182 | #define CYASSL_LOW_MEMORY |
igrokhotkov | 0:83f3dcfa5c8f | 183 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 184 | #define NO_SHA512 |
igrokhotkov | 0:83f3dcfa5c8f | 185 | #define NO_DH |
igrokhotkov | 0:83f3dcfa5c8f | 186 | #define NO_DSA |
igrokhotkov | 0:83f3dcfa5c8f | 187 | #define NO_HC128 |
igrokhotkov | 0:83f3dcfa5c8f | 188 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 189 | #define NO_CYASSL_DIR |
igrokhotkov | 0:83f3dcfa5c8f | 190 | #define NO_RABBIT |
igrokhotkov | 0:83f3dcfa5c8f | 191 | #ifndef NO_FILESYSTEM |
igrokhotkov | 0:83f3dcfa5c8f | 192 | #define LSR_FS |
igrokhotkov | 0:83f3dcfa5c8f | 193 | #include "inc/hw_types.h" |
igrokhotkov | 0:83f3dcfa5c8f | 194 | #include "fs.h" |
igrokhotkov | 0:83f3dcfa5c8f | 195 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 196 | #define CYASSL_LWIP |
igrokhotkov | 0:83f3dcfa5c8f | 197 | #include <errno.h> /* for tcp errno */ |
igrokhotkov | 0:83f3dcfa5c8f | 198 | #define CYASSL_SAFERTOS |
igrokhotkov | 0:83f3dcfa5c8f | 199 | #if defined(__IAR_SYSTEMS_ICC__) |
igrokhotkov | 0:83f3dcfa5c8f | 200 | /* enum uses enum */ |
igrokhotkov | 0:83f3dcfa5c8f | 201 | #pragma diag_suppress=Pa089 |
igrokhotkov | 0:83f3dcfa5c8f | 202 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 203 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 204 | |
igrokhotkov | 0:83f3dcfa5c8f | 205 | #ifdef CYASSL_SAFERTOS |
igrokhotkov | 0:83f3dcfa5c8f | 206 | #ifndef SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 207 | #include "SafeRTOS/semphr.h" |
igrokhotkov | 0:83f3dcfa5c8f | 208 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 209 | |
igrokhotkov | 0:83f3dcfa5c8f | 210 | #include "SafeRTOS/heap.h" |
igrokhotkov | 0:83f3dcfa5c8f | 211 | #define XMALLOC(s, h, type) pvPortMalloc((s)) |
igrokhotkov | 0:83f3dcfa5c8f | 212 | #define XFREE(p, h, type) vPortFree((p)) |
igrokhotkov | 0:83f3dcfa5c8f | 213 | #define XREALLOC(p, n, h, t) pvPortRealloc((p), (n)) |
igrokhotkov | 0:83f3dcfa5c8f | 214 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 215 | |
igrokhotkov | 0:83f3dcfa5c8f | 216 | #ifdef CYASSL_LOW_MEMORY |
igrokhotkov | 0:83f3dcfa5c8f | 217 | #define RSA_LOW_MEM |
igrokhotkov | 0:83f3dcfa5c8f | 218 | #define CYASSL_SMALL_STACK |
igrokhotkov | 0:83f3dcfa5c8f | 219 | #define TFM_TIMING_RESISTANT |
igrokhotkov | 0:83f3dcfa5c8f | 220 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 221 | |
igrokhotkov | 0:83f3dcfa5c8f | 222 | #ifdef FREESCALE_MQX |
igrokhotkov | 0:83f3dcfa5c8f | 223 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 224 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 225 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 226 | #define NO_RABBIT |
igrokhotkov | 0:83f3dcfa5c8f | 227 | #define NO_CYASSL_DIR |
igrokhotkov | 0:83f3dcfa5c8f | 228 | #define USE_FAST_MATH |
igrokhotkov | 0:83f3dcfa5c8f | 229 | #define TFM_TIMING_RESISTANT |
igrokhotkov | 0:83f3dcfa5c8f | 230 | #define FREESCALE_K70_RNGA |
igrokhotkov | 0:83f3dcfa5c8f | 231 | #ifndef NO_FILESYSTEM |
igrokhotkov | 0:83f3dcfa5c8f | 232 | #include "mfs.h" |
igrokhotkov | 0:83f3dcfa5c8f | 233 | #include "fio.h" |
igrokhotkov | 0:83f3dcfa5c8f | 234 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 235 | #ifndef SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 236 | #include "mutex.h" |
igrokhotkov | 0:83f3dcfa5c8f | 237 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 238 | |
igrokhotkov | 0:83f3dcfa5c8f | 239 | #define XMALLOC(s, h, type) (void *)_mem_alloc_system((s)) |
igrokhotkov | 0:83f3dcfa5c8f | 240 | #define XFREE(p, h, type) _mem_free(p) |
igrokhotkov | 0:83f3dcfa5c8f | 241 | /* Note: MQX has no realloc, using fastmath above */ |
igrokhotkov | 0:83f3dcfa5c8f | 242 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 243 | |
igrokhotkov | 0:83f3dcfa5c8f | 244 | #ifdef CYASSL_STM32F2 |
igrokhotkov | 0:83f3dcfa5c8f | 245 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 246 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 247 | #define NO_CYASSL_DIR |
igrokhotkov | 0:83f3dcfa5c8f | 248 | #define NO_RABBIT |
igrokhotkov | 0:83f3dcfa5c8f | 249 | #define STM32F2_RNG |
igrokhotkov | 0:83f3dcfa5c8f | 250 | #define STM32F2_CRYPTO |
igrokhotkov | 0:83f3dcfa5c8f | 251 | #define KEIL_INTRINSICS |
igrokhotkov | 0:83f3dcfa5c8f | 252 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 253 | |
igrokhotkov | 0:83f3dcfa5c8f | 254 | #ifdef MICRIUM |
igrokhotkov | 0:83f3dcfa5c8f | 255 | |
igrokhotkov | 0:83f3dcfa5c8f | 256 | #include "stdlib.h" |
igrokhotkov | 0:83f3dcfa5c8f | 257 | #include "net_cfg.h" |
igrokhotkov | 0:83f3dcfa5c8f | 258 | #include "ssl_cfg.h" |
igrokhotkov | 0:83f3dcfa5c8f | 259 | #include "net_secure_os.h" |
igrokhotkov | 0:83f3dcfa5c8f | 260 | |
igrokhotkov | 0:83f3dcfa5c8f | 261 | #define CYASSL_TYPES |
igrokhotkov | 0:83f3dcfa5c8f | 262 | |
igrokhotkov | 0:83f3dcfa5c8f | 263 | typedef CPU_INT08U byte; |
igrokhotkov | 0:83f3dcfa5c8f | 264 | typedef CPU_INT16U word16; |
igrokhotkov | 0:83f3dcfa5c8f | 265 | typedef CPU_INT32U word32; |
igrokhotkov | 0:83f3dcfa5c8f | 266 | |
igrokhotkov | 0:83f3dcfa5c8f | 267 | #if (NET_SECURE_MGR_CFG_WORD_SIZE == CPU_WORD_SIZE_32) |
igrokhotkov | 0:83f3dcfa5c8f | 268 | #define SIZEOF_LONG 4 |
igrokhotkov | 0:83f3dcfa5c8f | 269 | #undef SIZEOF_LONG_LONG |
igrokhotkov | 0:83f3dcfa5c8f | 270 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 271 | #undef SIZEOF_LONG |
igrokhotkov | 0:83f3dcfa5c8f | 272 | #define SIZEOF_LONG_LONG 8 |
igrokhotkov | 0:83f3dcfa5c8f | 273 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 274 | |
igrokhotkov | 0:83f3dcfa5c8f | 275 | #define STRING_USER |
igrokhotkov | 0:83f3dcfa5c8f | 276 | |
igrokhotkov | 0:83f3dcfa5c8f | 277 | #define XSTRLEN(pstr) ((CPU_SIZE_T)Str_Len((CPU_CHAR *)(pstr))) |
igrokhotkov | 0:83f3dcfa5c8f | 278 | #define XSTRNCPY(pstr_dest, pstr_src, len_max) \ |
igrokhotkov | 0:83f3dcfa5c8f | 279 | ((CPU_CHAR *)Str_Copy_N((CPU_CHAR *)(pstr_dest), \ |
igrokhotkov | 0:83f3dcfa5c8f | 280 | (CPU_CHAR *)(pstr_src), (CPU_SIZE_T)(len_max))) |
igrokhotkov | 0:83f3dcfa5c8f | 281 | #define XSTRNCMP(pstr_1, pstr_2, len_max) \ |
igrokhotkov | 0:83f3dcfa5c8f | 282 | ((CPU_INT16S)Str_Cmp_N((CPU_CHAR *)(pstr_1), \ |
igrokhotkov | 0:83f3dcfa5c8f | 283 | (CPU_CHAR *)(pstr_2), (CPU_SIZE_T)(len_max))) |
igrokhotkov | 0:83f3dcfa5c8f | 284 | #define XSTRSTR(pstr, pstr_srch) \ |
igrokhotkov | 0:83f3dcfa5c8f | 285 | ((CPU_CHAR *)Str_Str((CPU_CHAR *)(pstr), \ |
igrokhotkov | 0:83f3dcfa5c8f | 286 | (CPU_CHAR *)(pstr_srch))) |
igrokhotkov | 0:83f3dcfa5c8f | 287 | #define XMEMSET(pmem, data_val, size) \ |
igrokhotkov | 0:83f3dcfa5c8f | 288 | ((void)Mem_Set((void *)(pmem), (CPU_INT08U) (data_val), \ |
igrokhotkov | 0:83f3dcfa5c8f | 289 | (CPU_SIZE_T)(size))) |
igrokhotkov | 0:83f3dcfa5c8f | 290 | #define XMEMCPY(pdest, psrc, size) ((void)Mem_Copy((void *)(pdest), \ |
igrokhotkov | 0:83f3dcfa5c8f | 291 | (void *)(psrc), (CPU_SIZE_T)(size))) |
igrokhotkov | 0:83f3dcfa5c8f | 292 | #define XMEMCMP(pmem_1, pmem_2, size) \ |
igrokhotkov | 0:83f3dcfa5c8f | 293 | (((CPU_BOOLEAN)Mem_Cmp((void *)(pmem_1), (void *)(pmem_2), \ |
igrokhotkov | 0:83f3dcfa5c8f | 294 | (CPU_SIZE_T)(size))) ? DEF_NO : DEF_YES) |
igrokhotkov | 0:83f3dcfa5c8f | 295 | #define XMEMMOVE XMEMCPY |
igrokhotkov | 0:83f3dcfa5c8f | 296 | |
igrokhotkov | 0:83f3dcfa5c8f | 297 | #if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 298 | #define MICRIUM_MALLOC |
igrokhotkov | 0:83f3dcfa5c8f | 299 | #define XMALLOC(s, h, type) ((void *)NetSecure_BlkGet((CPU_INT08U)(type), \ |
igrokhotkov | 0:83f3dcfa5c8f | 300 | (CPU_SIZE_T)(s), (void *)0)) |
igrokhotkov | 0:83f3dcfa5c8f | 301 | #define XFREE(p, h, type) (NetSecure_BlkFree((CPU_INT08U)(type), \ |
igrokhotkov | 0:83f3dcfa5c8f | 302 | (p), (void *)0)) |
igrokhotkov | 0:83f3dcfa5c8f | 303 | #define XREALLOC(p, n, h, t) realloc((p), (n)) |
igrokhotkov | 0:83f3dcfa5c8f | 304 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 305 | |
igrokhotkov | 0:83f3dcfa5c8f | 306 | #if (NET_SECURE_MGR_CFG_FS_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 307 | #undef NO_FILESYSTEM |
igrokhotkov | 0:83f3dcfa5c8f | 308 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 309 | #define NO_FILESYSTEM |
igrokhotkov | 0:83f3dcfa5c8f | 310 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 311 | |
igrokhotkov | 0:83f3dcfa5c8f | 312 | #if (SSL_CFG_TRACE_LEVEL == CYASSL_TRACE_LEVEL_DBG) |
igrokhotkov | 0:83f3dcfa5c8f | 313 | #define DEBUG_CYASSL |
igrokhotkov | 0:83f3dcfa5c8f | 314 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 315 | #undef DEBUG_CYASSL |
igrokhotkov | 0:83f3dcfa5c8f | 316 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 317 | |
igrokhotkov | 0:83f3dcfa5c8f | 318 | #if (SSL_CFG_OPENSSL_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 319 | #define OPENSSL_EXTRA |
igrokhotkov | 0:83f3dcfa5c8f | 320 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 321 | #undef OPENSSL_EXTRA |
igrokhotkov | 0:83f3dcfa5c8f | 322 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 323 | |
igrokhotkov | 0:83f3dcfa5c8f | 324 | #if (SSL_CFG_MULTI_THREAD_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 325 | #undef SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 326 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 327 | #define SINGLE_THREADED |
igrokhotkov | 0:83f3dcfa5c8f | 328 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 329 | |
igrokhotkov | 0:83f3dcfa5c8f | 330 | #if (SSL_CFG_DH_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 331 | #undef NO_DH |
igrokhotkov | 0:83f3dcfa5c8f | 332 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 333 | #define NO_DH |
igrokhotkov | 0:83f3dcfa5c8f | 334 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 335 | |
igrokhotkov | 0:83f3dcfa5c8f | 336 | #if (SSL_CFG_DSA_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 337 | #undef NO_DSA |
igrokhotkov | 0:83f3dcfa5c8f | 338 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 339 | #define NO_DSA |
igrokhotkov | 0:83f3dcfa5c8f | 340 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 341 | |
igrokhotkov | 0:83f3dcfa5c8f | 342 | #if (SSL_CFG_PSK_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 343 | #undef NO_PSK |
igrokhotkov | 0:83f3dcfa5c8f | 344 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 345 | #define NO_PSK |
igrokhotkov | 0:83f3dcfa5c8f | 346 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 347 | |
igrokhotkov | 0:83f3dcfa5c8f | 348 | #if (SSL_CFG_3DES_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 349 | #undef NO_DES |
igrokhotkov | 0:83f3dcfa5c8f | 350 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 351 | #define NO_DES |
igrokhotkov | 0:83f3dcfa5c8f | 352 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 353 | |
igrokhotkov | 0:83f3dcfa5c8f | 354 | #if (SSL_CFG_AES_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 355 | #undef NO_AES |
igrokhotkov | 0:83f3dcfa5c8f | 356 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 357 | #define NO_AES |
igrokhotkov | 0:83f3dcfa5c8f | 358 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 359 | |
igrokhotkov | 0:83f3dcfa5c8f | 360 | #if (SSL_CFG_RC4_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 361 | #undef NO_RC4 |
igrokhotkov | 0:83f3dcfa5c8f | 362 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 363 | #define NO_RC4 |
igrokhotkov | 0:83f3dcfa5c8f | 364 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 365 | |
igrokhotkov | 0:83f3dcfa5c8f | 366 | #if (SSL_CFG_RABBIT_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 367 | #undef NO_RABBIT |
igrokhotkov | 0:83f3dcfa5c8f | 368 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 369 | #define NO_RABBIT |
igrokhotkov | 0:83f3dcfa5c8f | 370 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 371 | |
igrokhotkov | 0:83f3dcfa5c8f | 372 | #if (SSL_CFG_HC128_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 373 | #undef NO_HC128 |
igrokhotkov | 0:83f3dcfa5c8f | 374 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 375 | #define NO_HC128 |
igrokhotkov | 0:83f3dcfa5c8f | 376 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 377 | |
igrokhotkov | 0:83f3dcfa5c8f | 378 | #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) |
igrokhotkov | 0:83f3dcfa5c8f | 379 | #define BIG_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 380 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 381 | #undef BIG_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 382 | #define LITTLE_ENDIAN_ORDER |
igrokhotkov | 0:83f3dcfa5c8f | 383 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 384 | |
igrokhotkov | 0:83f3dcfa5c8f | 385 | #if (SSL_CFG_MD4_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 386 | #undef NO_MD4 |
igrokhotkov | 0:83f3dcfa5c8f | 387 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 388 | #define NO_MD4 |
igrokhotkov | 0:83f3dcfa5c8f | 389 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 390 | |
igrokhotkov | 0:83f3dcfa5c8f | 391 | #if (SSL_CFG_WRITEV_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 392 | #undef NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 393 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 394 | #define NO_WRITEV |
igrokhotkov | 0:83f3dcfa5c8f | 395 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 396 | |
igrokhotkov | 0:83f3dcfa5c8f | 397 | #if (SSL_CFG_USER_RNG_SEED_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 398 | #define NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 399 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 400 | #undef NO_DEV_RANDOM |
igrokhotkov | 0:83f3dcfa5c8f | 401 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 402 | |
igrokhotkov | 0:83f3dcfa5c8f | 403 | #if (SSL_CFG_USER_IO_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 404 | #define CYASSL_USER_IO |
igrokhotkov | 0:83f3dcfa5c8f | 405 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 406 | #undef CYASSL_USER_IO |
igrokhotkov | 0:83f3dcfa5c8f | 407 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 408 | |
igrokhotkov | 0:83f3dcfa5c8f | 409 | #if (SSL_CFG_DYNAMIC_BUFFERS_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 410 | #undef LARGE_STATIC_BUFFERS |
igrokhotkov | 0:83f3dcfa5c8f | 411 | #undef STATIC_CHUNKS_ONLY |
igrokhotkov | 0:83f3dcfa5c8f | 412 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 413 | #define LARGE_STATIC_BUFFERS |
igrokhotkov | 0:83f3dcfa5c8f | 414 | #define STATIC_CHUNKS_ONLY |
igrokhotkov | 0:83f3dcfa5c8f | 415 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 416 | |
igrokhotkov | 0:83f3dcfa5c8f | 417 | #if (SSL_CFG_DER_LOAD_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 418 | #define CYASSL_DER_LOAD |
igrokhotkov | 0:83f3dcfa5c8f | 419 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 420 | #undef CYASSL_DER_LOAD |
igrokhotkov | 0:83f3dcfa5c8f | 421 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 422 | |
igrokhotkov | 0:83f3dcfa5c8f | 423 | #if (SSL_CFG_DTLS_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 424 | #define CYASSL_DTLS |
igrokhotkov | 0:83f3dcfa5c8f | 425 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 426 | #undef CYASSL_DTLS |
igrokhotkov | 0:83f3dcfa5c8f | 427 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 428 | |
igrokhotkov | 0:83f3dcfa5c8f | 429 | #if (SSL_CFG_CALLBACKS_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 430 | #define CYASSL_CALLBACKS |
igrokhotkov | 0:83f3dcfa5c8f | 431 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 432 | #undef CYASSL_CALLBACKS |
igrokhotkov | 0:83f3dcfa5c8f | 433 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 434 | |
igrokhotkov | 0:83f3dcfa5c8f | 435 | #if (SSL_CFG_FAST_MATH_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 436 | #define USE_FAST_MATH |
igrokhotkov | 0:83f3dcfa5c8f | 437 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 438 | #undef USE_FAST_MATH |
igrokhotkov | 0:83f3dcfa5c8f | 439 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 440 | |
igrokhotkov | 0:83f3dcfa5c8f | 441 | #if (SSL_CFG_TFM_TIMING_RESISTANT_EN == DEF_ENABLED) |
igrokhotkov | 0:83f3dcfa5c8f | 442 | #define TFM_TIMING_RESISTANT |
igrokhotkov | 0:83f3dcfa5c8f | 443 | #else |
igrokhotkov | 0:83f3dcfa5c8f | 444 | #undef TFM_TIMING_RESISTANT |
igrokhotkov | 0:83f3dcfa5c8f | 445 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 446 | |
igrokhotkov | 0:83f3dcfa5c8f | 447 | #endif /* MICRIUM */ |
igrokhotkov | 0:83f3dcfa5c8f | 448 | |
igrokhotkov | 0:83f3dcfa5c8f | 449 | |
igrokhotkov | 0:83f3dcfa5c8f | 450 | #if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \ |
igrokhotkov | 0:83f3dcfa5c8f | 451 | !defined(CYASSL_LEANPSK) |
igrokhotkov | 0:83f3dcfa5c8f | 452 | #define USE_CYASSL_MEMORY |
igrokhotkov | 0:83f3dcfa5c8f | 453 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 454 | |
igrokhotkov | 0:83f3dcfa5c8f | 455 | /* Place any other flags or defines here */ |
igrokhotkov | 0:83f3dcfa5c8f | 456 | |
igrokhotkov | 0:83f3dcfa5c8f | 457 | |
igrokhotkov | 0:83f3dcfa5c8f | 458 | #ifdef __cplusplus |
igrokhotkov | 0:83f3dcfa5c8f | 459 | } /* extern "C" */ |
igrokhotkov | 0:83f3dcfa5c8f | 460 | #endif |
igrokhotkov | 0:83f3dcfa5c8f | 461 | |
igrokhotkov | 0:83f3dcfa5c8f | 462 | |
igrokhotkov | 0:83f3dcfa5c8f | 463 | #endif /* CTAO_CRYPT_SETTINGS_H */ |
igrokhotkov | 0:83f3dcfa5c8f | 464 |