Xuyi Wang / wolfcrypt

Dependents:   OS

Committer:
sPymbed
Date:
Mon Nov 25 14:23:49 2019 +0000
Revision:
1:e4ea39eba2fb
Parent:
0:1387ff3eed4a
improved

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sPymbed 0:1387ff3eed4a 1 /* error.c
sPymbed 0:1387ff3eed4a 2 *
sPymbed 0:1387ff3eed4a 3 * Copyright (C) 2006-2017 wolfSSL Inc.
sPymbed 0:1387ff3eed4a 4 *
sPymbed 0:1387ff3eed4a 5 * This file is part of wolfSSL.
sPymbed 0:1387ff3eed4a 6 *
sPymbed 0:1387ff3eed4a 7 * wolfSSL is free software; you can redistribute it and/or modify
sPymbed 0:1387ff3eed4a 8 * it under the terms of the GNU General Public License as published by
sPymbed 0:1387ff3eed4a 9 * the Free Software Foundation; either version 2 of the License, or
sPymbed 0:1387ff3eed4a 10 * (at your option) any later version.
sPymbed 0:1387ff3eed4a 11 *
sPymbed 0:1387ff3eed4a 12 * wolfSSL is distributed in the hope that it will be useful,
sPymbed 0:1387ff3eed4a 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
sPymbed 0:1387ff3eed4a 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
sPymbed 0:1387ff3eed4a 15 * GNU General Public License for more details.
sPymbed 0:1387ff3eed4a 16 *
sPymbed 0:1387ff3eed4a 17 * You should have received a copy of the GNU General Public License
sPymbed 0:1387ff3eed4a 18 * along with this program; if not, write to the Free Software
sPymbed 0:1387ff3eed4a 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
sPymbed 0:1387ff3eed4a 20 */
sPymbed 0:1387ff3eed4a 21
sPymbed 0:1387ff3eed4a 22
sPymbed 0:1387ff3eed4a 23 #ifdef HAVE_CONFIG_H
sPymbed 0:1387ff3eed4a 24 #include <config.h>
sPymbed 0:1387ff3eed4a 25 #endif
sPymbed 0:1387ff3eed4a 26
sPymbed 0:1387ff3eed4a 27 #include <wolfcrypt/settings.h>
sPymbed 0:1387ff3eed4a 28
sPymbed 0:1387ff3eed4a 29 #include <wolfcrypt/error-crypt.h>
sPymbed 0:1387ff3eed4a 30
sPymbed 0:1387ff3eed4a 31 #ifdef _MSC_VER
sPymbed 0:1387ff3eed4a 32 /* 4996 warning to use MS extensions e.g., strcpy_s instead of XSTRNCPY */
sPymbed 0:1387ff3eed4a 33 #pragma warning(disable: 4996)
sPymbed 0:1387ff3eed4a 34 #endif
sPymbed 0:1387ff3eed4a 35
sPymbed 0:1387ff3eed4a 36 #ifndef NO_ERROR_STRINGS
sPymbed 0:1387ff3eed4a 37 const char* wc_GetErrorString(int error)
sPymbed 0:1387ff3eed4a 38 {
sPymbed 0:1387ff3eed4a 39 switch (error) {
sPymbed 0:1387ff3eed4a 40
sPymbed 0:1387ff3eed4a 41 case OPEN_RAN_E :
sPymbed 0:1387ff3eed4a 42 return "opening random device error";
sPymbed 0:1387ff3eed4a 43
sPymbed 0:1387ff3eed4a 44 case READ_RAN_E :
sPymbed 0:1387ff3eed4a 45 return "reading random device error";
sPymbed 0:1387ff3eed4a 46
sPymbed 0:1387ff3eed4a 47 case WINCRYPT_E :
sPymbed 0:1387ff3eed4a 48 return "windows crypt init error";
sPymbed 0:1387ff3eed4a 49
sPymbed 0:1387ff3eed4a 50 case CRYPTGEN_E :
sPymbed 0:1387ff3eed4a 51 return "windows crypt generation error";
sPymbed 0:1387ff3eed4a 52
sPymbed 0:1387ff3eed4a 53 case RAN_BLOCK_E :
sPymbed 0:1387ff3eed4a 54 return "random device read would block error";
sPymbed 0:1387ff3eed4a 55
sPymbed 0:1387ff3eed4a 56 case BAD_MUTEX_E :
sPymbed 0:1387ff3eed4a 57 return "Bad mutex, operation failed";
sPymbed 0:1387ff3eed4a 58
sPymbed 0:1387ff3eed4a 59 case WC_TIMEOUT_E:
sPymbed 0:1387ff3eed4a 60 return "Timeout error";
sPymbed 0:1387ff3eed4a 61
sPymbed 0:1387ff3eed4a 62 case WC_PENDING_E:
sPymbed 0:1387ff3eed4a 63 return "wolfCrypt Operation Pending (would block / eagain) error";
sPymbed 0:1387ff3eed4a 64
sPymbed 0:1387ff3eed4a 65 case WC_NOT_PENDING_E:
sPymbed 0:1387ff3eed4a 66 return "wolfCrypt operation not pending error";
sPymbed 0:1387ff3eed4a 67
sPymbed 0:1387ff3eed4a 68 case MP_INIT_E :
sPymbed 0:1387ff3eed4a 69 return "mp_init error state";
sPymbed 0:1387ff3eed4a 70
sPymbed 0:1387ff3eed4a 71 case MP_READ_E :
sPymbed 0:1387ff3eed4a 72 return "mp_read error state";
sPymbed 0:1387ff3eed4a 73
sPymbed 0:1387ff3eed4a 74 case MP_EXPTMOD_E :
sPymbed 0:1387ff3eed4a 75 return "mp_exptmod error state";
sPymbed 0:1387ff3eed4a 76
sPymbed 0:1387ff3eed4a 77 case MP_TO_E :
sPymbed 0:1387ff3eed4a 78 return "mp_to_xxx error state, can't convert";
sPymbed 0:1387ff3eed4a 79
sPymbed 0:1387ff3eed4a 80 case MP_SUB_E :
sPymbed 0:1387ff3eed4a 81 return "mp_sub error state, can't subtract";
sPymbed 0:1387ff3eed4a 82
sPymbed 0:1387ff3eed4a 83 case MP_ADD_E :
sPymbed 0:1387ff3eed4a 84 return "mp_add error state, can't add";
sPymbed 0:1387ff3eed4a 85
sPymbed 0:1387ff3eed4a 86 case MP_MUL_E :
sPymbed 0:1387ff3eed4a 87 return "mp_mul error state, can't multiply";
sPymbed 0:1387ff3eed4a 88
sPymbed 0:1387ff3eed4a 89 case MP_MULMOD_E :
sPymbed 0:1387ff3eed4a 90 return "mp_mulmod error state, can't multiply mod";
sPymbed 0:1387ff3eed4a 91
sPymbed 0:1387ff3eed4a 92 case MP_MOD_E :
sPymbed 0:1387ff3eed4a 93 return "mp_mod error state, can't mod";
sPymbed 0:1387ff3eed4a 94
sPymbed 0:1387ff3eed4a 95 case MP_INVMOD_E :
sPymbed 0:1387ff3eed4a 96 return "mp_invmod error state, can't inv mod";
sPymbed 0:1387ff3eed4a 97
sPymbed 0:1387ff3eed4a 98 case MP_CMP_E :
sPymbed 0:1387ff3eed4a 99 return "mp_cmp error state";
sPymbed 0:1387ff3eed4a 100
sPymbed 0:1387ff3eed4a 101 case MP_ZERO_E :
sPymbed 0:1387ff3eed4a 102 return "mp zero result, not expected";
sPymbed 0:1387ff3eed4a 103
sPymbed 0:1387ff3eed4a 104 case MEMORY_E :
sPymbed 0:1387ff3eed4a 105 return "out of memory error";
sPymbed 0:1387ff3eed4a 106
sPymbed 0:1387ff3eed4a 107 case VAR_STATE_CHANGE_E :
sPymbed 0:1387ff3eed4a 108 return "Variable state modified by different thread";
sPymbed 0:1387ff3eed4a 109
sPymbed 0:1387ff3eed4a 110 case RSA_WRONG_TYPE_E :
sPymbed 0:1387ff3eed4a 111 return "RSA wrong block type for RSA function";
sPymbed 0:1387ff3eed4a 112
sPymbed 0:1387ff3eed4a 113 case RSA_BUFFER_E :
sPymbed 0:1387ff3eed4a 114 return "RSA buffer error, output too small or input too big";
sPymbed 0:1387ff3eed4a 115
sPymbed 0:1387ff3eed4a 116 case BUFFER_E :
sPymbed 0:1387ff3eed4a 117 return "Buffer error, output too small or input too big";
sPymbed 0:1387ff3eed4a 118
sPymbed 0:1387ff3eed4a 119 case ALGO_ID_E :
sPymbed 0:1387ff3eed4a 120 return "Setting Cert AlgoID error";
sPymbed 0:1387ff3eed4a 121
sPymbed 0:1387ff3eed4a 122 case PUBLIC_KEY_E :
sPymbed 0:1387ff3eed4a 123 return "Setting Cert Public Key error";
sPymbed 0:1387ff3eed4a 124
sPymbed 0:1387ff3eed4a 125 case DATE_E :
sPymbed 0:1387ff3eed4a 126 return "Setting Cert Date validity error";
sPymbed 0:1387ff3eed4a 127
sPymbed 0:1387ff3eed4a 128 case SUBJECT_E :
sPymbed 0:1387ff3eed4a 129 return "Setting Cert Subject name error";
sPymbed 0:1387ff3eed4a 130
sPymbed 0:1387ff3eed4a 131 case ISSUER_E :
sPymbed 0:1387ff3eed4a 132 return "Setting Cert Issuer name error";
sPymbed 0:1387ff3eed4a 133
sPymbed 0:1387ff3eed4a 134 case CA_TRUE_E :
sPymbed 0:1387ff3eed4a 135 return "Setting basic constraint CA true error";
sPymbed 0:1387ff3eed4a 136
sPymbed 0:1387ff3eed4a 137 case EXTENSIONS_E :
sPymbed 0:1387ff3eed4a 138 return "Setting extensions error";
sPymbed 0:1387ff3eed4a 139
sPymbed 0:1387ff3eed4a 140 case ASN_PARSE_E :
sPymbed 0:1387ff3eed4a 141 return "ASN parsing error, invalid input";
sPymbed 0:1387ff3eed4a 142
sPymbed 0:1387ff3eed4a 143 case ASN_VERSION_E :
sPymbed 0:1387ff3eed4a 144 return "ASN version error, invalid number";
sPymbed 0:1387ff3eed4a 145
sPymbed 0:1387ff3eed4a 146 case ASN_GETINT_E :
sPymbed 0:1387ff3eed4a 147 return "ASN get big int error, invalid data";
sPymbed 0:1387ff3eed4a 148
sPymbed 0:1387ff3eed4a 149 case ASN_RSA_KEY_E :
sPymbed 0:1387ff3eed4a 150 return "ASN key init error, invalid input";
sPymbed 0:1387ff3eed4a 151
sPymbed 0:1387ff3eed4a 152 case ASN_OBJECT_ID_E :
sPymbed 0:1387ff3eed4a 153 return "ASN object id error, invalid id";
sPymbed 0:1387ff3eed4a 154
sPymbed 0:1387ff3eed4a 155 case ASN_TAG_NULL_E :
sPymbed 0:1387ff3eed4a 156 return "ASN tag error, not null";
sPymbed 0:1387ff3eed4a 157
sPymbed 0:1387ff3eed4a 158 case ASN_EXPECT_0_E :
sPymbed 0:1387ff3eed4a 159 return "ASN expect error, not zero";
sPymbed 0:1387ff3eed4a 160
sPymbed 0:1387ff3eed4a 161 case ASN_BITSTR_E :
sPymbed 0:1387ff3eed4a 162 return "ASN bit string error, wrong id";
sPymbed 0:1387ff3eed4a 163
sPymbed 0:1387ff3eed4a 164 case ASN_UNKNOWN_OID_E :
sPymbed 0:1387ff3eed4a 165 return "ASN oid error, unknown sum id";
sPymbed 0:1387ff3eed4a 166
sPymbed 0:1387ff3eed4a 167 case ASN_DATE_SZ_E :
sPymbed 0:1387ff3eed4a 168 return "ASN date error, bad size";
sPymbed 0:1387ff3eed4a 169
sPymbed 0:1387ff3eed4a 170 case ASN_BEFORE_DATE_E :
sPymbed 0:1387ff3eed4a 171 return "ASN date error, current date before";
sPymbed 0:1387ff3eed4a 172
sPymbed 0:1387ff3eed4a 173 case ASN_AFTER_DATE_E :
sPymbed 0:1387ff3eed4a 174 return "ASN date error, current date after";
sPymbed 0:1387ff3eed4a 175
sPymbed 0:1387ff3eed4a 176 case ASN_SIG_OID_E :
sPymbed 0:1387ff3eed4a 177 return "ASN signature error, mismatched oid";
sPymbed 0:1387ff3eed4a 178
sPymbed 0:1387ff3eed4a 179 case ASN_TIME_E :
sPymbed 0:1387ff3eed4a 180 return "ASN time error, unknown time type";
sPymbed 0:1387ff3eed4a 181
sPymbed 0:1387ff3eed4a 182 case ASN_INPUT_E :
sPymbed 0:1387ff3eed4a 183 return "ASN input error, not enough data";
sPymbed 0:1387ff3eed4a 184
sPymbed 0:1387ff3eed4a 185 case ASN_SIG_CONFIRM_E :
sPymbed 0:1387ff3eed4a 186 return "ASN sig error, confirm failure";
sPymbed 0:1387ff3eed4a 187
sPymbed 0:1387ff3eed4a 188 case ASN_SIG_HASH_E :
sPymbed 0:1387ff3eed4a 189 return "ASN sig error, unsupported hash type";
sPymbed 0:1387ff3eed4a 190
sPymbed 0:1387ff3eed4a 191 case ASN_SIG_KEY_E :
sPymbed 0:1387ff3eed4a 192 return "ASN sig error, unsupported key type";
sPymbed 0:1387ff3eed4a 193
sPymbed 0:1387ff3eed4a 194 case ASN_DH_KEY_E :
sPymbed 0:1387ff3eed4a 195 return "ASN key init error, invalid input";
sPymbed 0:1387ff3eed4a 196
sPymbed 0:1387ff3eed4a 197 case ASN_NTRU_KEY_E :
sPymbed 0:1387ff3eed4a 198 return "ASN NTRU key decode error, invalid input";
sPymbed 0:1387ff3eed4a 199
sPymbed 0:1387ff3eed4a 200 case ASN_CRIT_EXT_E:
sPymbed 0:1387ff3eed4a 201 return "X.509 Critical extension ignored or invalid";
sPymbed 0:1387ff3eed4a 202
sPymbed 0:1387ff3eed4a 203 case ASN_ALT_NAME_E:
sPymbed 0:1387ff3eed4a 204 return "ASN alternate name error";
sPymbed 0:1387ff3eed4a 205
sPymbed 0:1387ff3eed4a 206 case ECC_BAD_ARG_E :
sPymbed 0:1387ff3eed4a 207 return "ECC input argument wrong type, invalid input";
sPymbed 0:1387ff3eed4a 208
sPymbed 0:1387ff3eed4a 209 case ASN_ECC_KEY_E :
sPymbed 0:1387ff3eed4a 210 return "ECC ASN1 bad key data, invalid input";
sPymbed 0:1387ff3eed4a 211
sPymbed 0:1387ff3eed4a 212 case ECC_CURVE_OID_E :
sPymbed 0:1387ff3eed4a 213 return "ECC curve sum OID unsupported, invalid input";
sPymbed 0:1387ff3eed4a 214
sPymbed 0:1387ff3eed4a 215 case BAD_FUNC_ARG :
sPymbed 0:1387ff3eed4a 216 return "Bad function argument";
sPymbed 0:1387ff3eed4a 217
sPymbed 0:1387ff3eed4a 218 case NOT_COMPILED_IN :
sPymbed 0:1387ff3eed4a 219 return "Feature not compiled in";
sPymbed 0:1387ff3eed4a 220
sPymbed 0:1387ff3eed4a 221 case UNICODE_SIZE_E :
sPymbed 0:1387ff3eed4a 222 return "Unicode password too big";
sPymbed 0:1387ff3eed4a 223
sPymbed 0:1387ff3eed4a 224 case NO_PASSWORD :
sPymbed 0:1387ff3eed4a 225 return "No password provided by user";
sPymbed 0:1387ff3eed4a 226
sPymbed 0:1387ff3eed4a 227 case ALT_NAME_E :
sPymbed 0:1387ff3eed4a 228 return "Alt Name problem, too big";
sPymbed 0:1387ff3eed4a 229
sPymbed 0:1387ff3eed4a 230 case AES_GCM_AUTH_E:
sPymbed 0:1387ff3eed4a 231 return "AES-GCM Authentication check fail";
sPymbed 0:1387ff3eed4a 232
sPymbed 0:1387ff3eed4a 233 case AES_CCM_AUTH_E:
sPymbed 0:1387ff3eed4a 234 return "AES-CCM Authentication check fail";
sPymbed 0:1387ff3eed4a 235
sPymbed 0:1387ff3eed4a 236 case ASYNC_INIT_E:
sPymbed 0:1387ff3eed4a 237 return "Async Init error";
sPymbed 0:1387ff3eed4a 238
sPymbed 0:1387ff3eed4a 239 case COMPRESS_INIT_E:
sPymbed 0:1387ff3eed4a 240 return "Compress Init error";
sPymbed 0:1387ff3eed4a 241
sPymbed 0:1387ff3eed4a 242 case COMPRESS_E:
sPymbed 0:1387ff3eed4a 243 return "Compress error";
sPymbed 0:1387ff3eed4a 244
sPymbed 0:1387ff3eed4a 245 case DECOMPRESS_INIT_E:
sPymbed 0:1387ff3eed4a 246 return "DeCompress Init error";
sPymbed 0:1387ff3eed4a 247
sPymbed 0:1387ff3eed4a 248 case DECOMPRESS_E:
sPymbed 0:1387ff3eed4a 249 return "DeCompress error";
sPymbed 0:1387ff3eed4a 250
sPymbed 0:1387ff3eed4a 251 case BAD_ALIGN_E:
sPymbed 0:1387ff3eed4a 252 return "Bad alignment error, no alloc help";
sPymbed 0:1387ff3eed4a 253
sPymbed 0:1387ff3eed4a 254 case ASN_NO_SIGNER_E :
sPymbed 0:1387ff3eed4a 255 return "ASN no signer error to confirm failure";
sPymbed 0:1387ff3eed4a 256
sPymbed 0:1387ff3eed4a 257 case ASN_CRL_CONFIRM_E :
sPymbed 0:1387ff3eed4a 258 return "ASN CRL sig error, confirm failure";
sPymbed 0:1387ff3eed4a 259
sPymbed 0:1387ff3eed4a 260 case ASN_CRL_NO_SIGNER_E :
sPymbed 0:1387ff3eed4a 261 return "ASN CRL no signer error to confirm failure";
sPymbed 0:1387ff3eed4a 262
sPymbed 0:1387ff3eed4a 263 case ASN_OCSP_CONFIRM_E :
sPymbed 0:1387ff3eed4a 264 return "ASN OCSP sig error, confirm failure";
sPymbed 0:1387ff3eed4a 265
sPymbed 0:1387ff3eed4a 266 case ASN_NO_PEM_HEADER:
sPymbed 0:1387ff3eed4a 267 return "ASN no PEM Header Error";
sPymbed 0:1387ff3eed4a 268
sPymbed 0:1387ff3eed4a 269 case BAD_STATE_E:
sPymbed 0:1387ff3eed4a 270 return "Bad state operation";
sPymbed 0:1387ff3eed4a 271
sPymbed 0:1387ff3eed4a 272 case BAD_PADDING_E:
sPymbed 0:1387ff3eed4a 273 return "Bad padding, message wrong length";
sPymbed 0:1387ff3eed4a 274
sPymbed 0:1387ff3eed4a 275 case REQ_ATTRIBUTE_E:
sPymbed 0:1387ff3eed4a 276 return "Setting cert request attributes error";
sPymbed 0:1387ff3eed4a 277
sPymbed 0:1387ff3eed4a 278 case PKCS7_OID_E:
sPymbed 0:1387ff3eed4a 279 return "PKCS#7 error: mismatched OID value";
sPymbed 0:1387ff3eed4a 280
sPymbed 0:1387ff3eed4a 281 case PKCS7_RECIP_E:
sPymbed 0:1387ff3eed4a 282 return "PKCS#7 error: no matching recipient found";
sPymbed 0:1387ff3eed4a 283
sPymbed 0:1387ff3eed4a 284 case FIPS_NOT_ALLOWED_E:
sPymbed 0:1387ff3eed4a 285 return "FIPS mode not allowed error";
sPymbed 0:1387ff3eed4a 286
sPymbed 0:1387ff3eed4a 287 case ASN_NAME_INVALID_E:
sPymbed 0:1387ff3eed4a 288 return "Name Constraint error";
sPymbed 0:1387ff3eed4a 289
sPymbed 0:1387ff3eed4a 290 case RNG_FAILURE_E:
sPymbed 0:1387ff3eed4a 291 return "Random Number Generator failed";
sPymbed 0:1387ff3eed4a 292
sPymbed 0:1387ff3eed4a 293 case HMAC_MIN_KEYLEN_E:
sPymbed 0:1387ff3eed4a 294 return "FIPS Mode HMAC Minimum Key Length error";
sPymbed 0:1387ff3eed4a 295
sPymbed 0:1387ff3eed4a 296 case RSA_PAD_E:
sPymbed 0:1387ff3eed4a 297 return "Rsa Padding error";
sPymbed 0:1387ff3eed4a 298
sPymbed 0:1387ff3eed4a 299 case LENGTH_ONLY_E:
sPymbed 0:1387ff3eed4a 300 return "Output length only set, not for other use error";
sPymbed 0:1387ff3eed4a 301
sPymbed 0:1387ff3eed4a 302 case IN_CORE_FIPS_E:
sPymbed 0:1387ff3eed4a 303 return "In Core Integrity check FIPS error";
sPymbed 0:1387ff3eed4a 304
sPymbed 0:1387ff3eed4a 305 case AES_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 306 return "AES Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 307
sPymbed 0:1387ff3eed4a 308 case DES3_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 309 return "DES3 Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 310
sPymbed 0:1387ff3eed4a 311 case HMAC_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 312 return "HMAC Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 313
sPymbed 0:1387ff3eed4a 314 case RSA_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 315 return "RSA Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 316
sPymbed 0:1387ff3eed4a 317 case DRBG_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 318 return "DRBG Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 319
sPymbed 0:1387ff3eed4a 320 case DRBG_CONT_FIPS_E:
sPymbed 0:1387ff3eed4a 321 return "DRBG Continuous Test FIPS error";
sPymbed 0:1387ff3eed4a 322
sPymbed 0:1387ff3eed4a 323 case AESGCM_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 324 return "AESGCM Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 325
sPymbed 0:1387ff3eed4a 326 case THREAD_STORE_KEY_E:
sPymbed 0:1387ff3eed4a 327 return "Thread Storage Key Create error";
sPymbed 0:1387ff3eed4a 328
sPymbed 0:1387ff3eed4a 329 case THREAD_STORE_SET_E:
sPymbed 0:1387ff3eed4a 330 return "Thread Storage Set error";
sPymbed 0:1387ff3eed4a 331
sPymbed 0:1387ff3eed4a 332 case MAC_CMP_FAILED_E:
sPymbed 0:1387ff3eed4a 333 return "MAC comparison failed";
sPymbed 0:1387ff3eed4a 334
sPymbed 0:1387ff3eed4a 335 case IS_POINT_E:
sPymbed 0:1387ff3eed4a 336 return "ECC is point on curve failed";
sPymbed 0:1387ff3eed4a 337
sPymbed 0:1387ff3eed4a 338 case ECC_INF_E:
sPymbed 0:1387ff3eed4a 339 return " ECC point at infinity error";
sPymbed 0:1387ff3eed4a 340
sPymbed 0:1387ff3eed4a 341 case ECC_OUT_OF_RANGE_E:
sPymbed 0:1387ff3eed4a 342 return " ECC Qx or Qy out of range error";
sPymbed 0:1387ff3eed4a 343
sPymbed 0:1387ff3eed4a 344 case ECC_PRIV_KEY_E:
sPymbed 0:1387ff3eed4a 345 return " ECC private key is not valid error";
sPymbed 0:1387ff3eed4a 346
sPymbed 0:1387ff3eed4a 347 case SRP_CALL_ORDER_E:
sPymbed 0:1387ff3eed4a 348 return "SRP function called in the wrong order error";
sPymbed 0:1387ff3eed4a 349
sPymbed 0:1387ff3eed4a 350 case SRP_VERIFY_E:
sPymbed 0:1387ff3eed4a 351 return "SRP proof verification error";
sPymbed 0:1387ff3eed4a 352
sPymbed 0:1387ff3eed4a 353 case SRP_BAD_KEY_E:
sPymbed 0:1387ff3eed4a 354 return "SRP bad key values error";
sPymbed 0:1387ff3eed4a 355
sPymbed 0:1387ff3eed4a 356 case ASN_NO_SKID:
sPymbed 0:1387ff3eed4a 357 return "ASN no Subject Key Identifier found error";
sPymbed 0:1387ff3eed4a 358
sPymbed 0:1387ff3eed4a 359 case ASN_NO_AKID:
sPymbed 0:1387ff3eed4a 360 return "ASN no Authority Key Identifier found error";
sPymbed 0:1387ff3eed4a 361
sPymbed 0:1387ff3eed4a 362 case ASN_NO_KEYUSAGE:
sPymbed 0:1387ff3eed4a 363 return "ASN no Key Usage found error";
sPymbed 0:1387ff3eed4a 364
sPymbed 0:1387ff3eed4a 365 case SKID_E:
sPymbed 0:1387ff3eed4a 366 return "Setting Subject Key Identifier error";
sPymbed 0:1387ff3eed4a 367
sPymbed 0:1387ff3eed4a 368 case AKID_E:
sPymbed 0:1387ff3eed4a 369 return "Setting Authority Key Identifier error";
sPymbed 0:1387ff3eed4a 370
sPymbed 0:1387ff3eed4a 371 case KEYUSAGE_E:
sPymbed 0:1387ff3eed4a 372 return "Key Usage value error";
sPymbed 0:1387ff3eed4a 373
sPymbed 0:1387ff3eed4a 374 case EXTKEYUSAGE_E:
sPymbed 0:1387ff3eed4a 375 return "Extended Key Usage value error";
sPymbed 0:1387ff3eed4a 376
sPymbed 0:1387ff3eed4a 377 case CERTPOLICIES_E:
sPymbed 0:1387ff3eed4a 378 return "Setting Certificate Policies error";
sPymbed 0:1387ff3eed4a 379
sPymbed 0:1387ff3eed4a 380 case WC_INIT_E:
sPymbed 0:1387ff3eed4a 381 return "wolfCrypt Initialize Failure error";
sPymbed 0:1387ff3eed4a 382
sPymbed 0:1387ff3eed4a 383 case SIG_VERIFY_E:
sPymbed 0:1387ff3eed4a 384 return "Signature verify error";
sPymbed 0:1387ff3eed4a 385
sPymbed 0:1387ff3eed4a 386 case BAD_COND_E:
sPymbed 0:1387ff3eed4a 387 return "Bad condition variable operation error";
sPymbed 0:1387ff3eed4a 388
sPymbed 0:1387ff3eed4a 389 case SIG_TYPE_E:
sPymbed 0:1387ff3eed4a 390 return "Signature type not enabled/available";
sPymbed 0:1387ff3eed4a 391
sPymbed 0:1387ff3eed4a 392 case HASH_TYPE_E:
sPymbed 0:1387ff3eed4a 393 return "Hash type not enabled/available";
sPymbed 0:1387ff3eed4a 394
sPymbed 0:1387ff3eed4a 395 case WC_KEY_SIZE_E:
sPymbed 0:1387ff3eed4a 396 return "Key size error, either too small or large";
sPymbed 0:1387ff3eed4a 397
sPymbed 0:1387ff3eed4a 398 case ASN_COUNTRY_SIZE_E:
sPymbed 0:1387ff3eed4a 399 return "Country code size error, either too small or large";
sPymbed 0:1387ff3eed4a 400
sPymbed 0:1387ff3eed4a 401 case MISSING_RNG_E:
sPymbed 0:1387ff3eed4a 402 return "RNG required but not provided";
sPymbed 0:1387ff3eed4a 403
sPymbed 0:1387ff3eed4a 404 case ASN_PATHLEN_SIZE_E:
sPymbed 0:1387ff3eed4a 405 return "ASN CA path length value too large error";
sPymbed 0:1387ff3eed4a 406
sPymbed 0:1387ff3eed4a 407 case ASN_PATHLEN_INV_E:
sPymbed 0:1387ff3eed4a 408 return "ASN CA path length larger than signer error";
sPymbed 0:1387ff3eed4a 409
sPymbed 0:1387ff3eed4a 410 case BAD_KEYWRAP_ALG_E:
sPymbed 0:1387ff3eed4a 411 return "Unsupported key wrap algorithm error";
sPymbed 0:1387ff3eed4a 412
sPymbed 0:1387ff3eed4a 413 case BAD_KEYWRAP_IV_E:
sPymbed 0:1387ff3eed4a 414 return "Decrypted AES key wrap IV does not match expected";
sPymbed 0:1387ff3eed4a 415
sPymbed 0:1387ff3eed4a 416 case WC_CLEANUP_E:
sPymbed 0:1387ff3eed4a 417 return "wolfcrypt cleanup failed";
sPymbed 0:1387ff3eed4a 418
sPymbed 0:1387ff3eed4a 419 case ECC_CDH_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 420 return "wolfcrypt FIPS ECC CDH Known Answer Test Failure";
sPymbed 0:1387ff3eed4a 421
sPymbed 0:1387ff3eed4a 422 case DH_CHECK_PUB_E:
sPymbed 0:1387ff3eed4a 423 return "DH Check Public Key failure";
sPymbed 0:1387ff3eed4a 424
sPymbed 0:1387ff3eed4a 425 case BAD_PATH_ERROR:
sPymbed 0:1387ff3eed4a 426 return "Bad path for opendir error";
sPymbed 0:1387ff3eed4a 427
sPymbed 0:1387ff3eed4a 428 case ASYNC_OP_E:
sPymbed 0:1387ff3eed4a 429 return "Async operation error";
sPymbed 0:1387ff3eed4a 430
sPymbed 0:1387ff3eed4a 431 case BAD_OCSP_RESPONDER:
sPymbed 0:1387ff3eed4a 432 return "Invalid OCSP Responder, missing specific key usage extensions";
sPymbed 0:1387ff3eed4a 433
sPymbed 0:1387ff3eed4a 434 case ECC_PRIVATEONLY_E:
sPymbed 0:1387ff3eed4a 435 return "Invalid use of private only ECC key";
sPymbed 0:1387ff3eed4a 436
sPymbed 0:1387ff3eed4a 437 case WC_HW_E:
sPymbed 0:1387ff3eed4a 438 return "Error with hardware crypto use";
sPymbed 0:1387ff3eed4a 439
sPymbed 0:1387ff3eed4a 440 case WC_HW_WAIT_E:
sPymbed 0:1387ff3eed4a 441 return "Hardware waiting on resource";
sPymbed 0:1387ff3eed4a 442
sPymbed 0:1387ff3eed4a 443 case PSS_SALTLEN_E:
sPymbed 0:1387ff3eed4a 444 return "PSS - Length of salt is too big for hash algorithm";
sPymbed 0:1387ff3eed4a 445
sPymbed 0:1387ff3eed4a 446 case PRIME_GEN_E:
sPymbed 0:1387ff3eed4a 447 return "Unable to find a prime for RSA key";
sPymbed 0:1387ff3eed4a 448
sPymbed 0:1387ff3eed4a 449 case BER_INDEF_E:
sPymbed 0:1387ff3eed4a 450 return "Unable to decode an indefinite length encoded message";
sPymbed 0:1387ff3eed4a 451
sPymbed 0:1387ff3eed4a 452 case RSA_OUT_OF_RANGE_E:
sPymbed 0:1387ff3eed4a 453 return "Ciphertext to decrypt is out of range";
sPymbed 0:1387ff3eed4a 454
sPymbed 0:1387ff3eed4a 455 case RSAPSS_PAT_FIPS_E:
sPymbed 0:1387ff3eed4a 456 return "wolfcrypt FIPS RSA-PSS Pairwise Agreement Test Failure";
sPymbed 0:1387ff3eed4a 457
sPymbed 0:1387ff3eed4a 458 case ECDSA_PAT_FIPS_E:
sPymbed 0:1387ff3eed4a 459 return "wolfcrypt FIPS ECDSA Pairwise Agreement Test Failure";
sPymbed 0:1387ff3eed4a 460
sPymbed 0:1387ff3eed4a 461 case DH_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 462 return "wolfcrypt FIPS DH Known Answer Test Failure";
sPymbed 0:1387ff3eed4a 463
sPymbed 0:1387ff3eed4a 464 case AESCCM_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 465 return "AESCCM Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 466
sPymbed 0:1387ff3eed4a 467 case SHA3_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 468 return "SHA-3 Known Answer Test check FIPS error";
sPymbed 0:1387ff3eed4a 469
sPymbed 0:1387ff3eed4a 470 case ECDHE_KAT_FIPS_E:
sPymbed 0:1387ff3eed4a 471 return "wolfcrypt FIPS ECDHE Known Answer Test Failure";
sPymbed 0:1387ff3eed4a 472
sPymbed 0:1387ff3eed4a 473 case AES_GCM_OVERFLOW_E:
sPymbed 0:1387ff3eed4a 474 return "AES-GCM invocation counter overflow";
sPymbed 0:1387ff3eed4a 475
sPymbed 0:1387ff3eed4a 476 case AES_CCM_OVERFLOW_E:
sPymbed 0:1387ff3eed4a 477 return "AES-CCM invocation counter overflow";
sPymbed 0:1387ff3eed4a 478
sPymbed 0:1387ff3eed4a 479 case RSA_KEY_PAIR_E:
sPymbed 0:1387ff3eed4a 480 return "RSA Key Pair-Wise Consistency check fail";
sPymbed 0:1387ff3eed4a 481
sPymbed 0:1387ff3eed4a 482 case DH_CHECK_PRIV_E:
sPymbed 0:1387ff3eed4a 483 return "DH Check Private Key failure";
sPymbed 0:1387ff3eed4a 484
sPymbed 0:1387ff3eed4a 485 default:
sPymbed 0:1387ff3eed4a 486 return "unknown error number";
sPymbed 0:1387ff3eed4a 487
sPymbed 0:1387ff3eed4a 488 }
sPymbed 0:1387ff3eed4a 489 }
sPymbed 0:1387ff3eed4a 490
sPymbed 0:1387ff3eed4a 491 void wc_ErrorString(int error, char* buffer)
sPymbed 0:1387ff3eed4a 492 {
sPymbed 0:1387ff3eed4a 493 XSTRNCPY(buffer, wc_GetErrorString(error), WOLFSSL_MAX_ERROR_SZ);
sPymbed 0:1387ff3eed4a 494 }
sPymbed 0:1387ff3eed4a 495 #endif /* !NO_ERROR_STRINGS */
sPymbed 0:1387ff3eed4a 496
sPymbed 0:1387ff3eed4a 497