Xuyi Wang / wolfSSL

Dependents:   OS

Committer:
wolfSSL
Date:
Thu Apr 28 00:57:21 2016 +0000
Revision:
4:1b0d80432c79
wolfSSL 3.9.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wolfSSL 4:1b0d80432c79 1 /* error.c
wolfSSL 4:1b0d80432c79 2 *
wolfSSL 4:1b0d80432c79 3 * Copyright (C) 2006-2016 wolfSSL Inc.
wolfSSL 4:1b0d80432c79 4 *
wolfSSL 4:1b0d80432c79 5 * This file is part of wolfSSL.
wolfSSL 4:1b0d80432c79 6 *
wolfSSL 4:1b0d80432c79 7 * wolfSSL is free software; you can redistribute it and/or modify
wolfSSL 4:1b0d80432c79 8 * it under the terms of the GNU General Public License as published by
wolfSSL 4:1b0d80432c79 9 * the Free Software Foundation; either version 2 of the License, or
wolfSSL 4:1b0d80432c79 10 * (at your option) any later version.
wolfSSL 4:1b0d80432c79 11 *
wolfSSL 4:1b0d80432c79 12 * wolfSSL is distributed in the hope that it will be useful,
wolfSSL 4:1b0d80432c79 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
wolfSSL 4:1b0d80432c79 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
wolfSSL 4:1b0d80432c79 15 * GNU General Public License for more details.
wolfSSL 4:1b0d80432c79 16 *
wolfSSL 4:1b0d80432c79 17 * You should have received a copy of the GNU General Public License
wolfSSL 4:1b0d80432c79 18 * along with this program; if not, write to the Free Software
wolfSSL 4:1b0d80432c79 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
wolfSSL 4:1b0d80432c79 20 */
wolfSSL 4:1b0d80432c79 21
wolfSSL 4:1b0d80432c79 22
wolfSSL 4:1b0d80432c79 23 #ifdef HAVE_CONFIG_H
wolfSSL 4:1b0d80432c79 24 #include <config.h>
wolfSSL 4:1b0d80432c79 25 #endif
wolfSSL 4:1b0d80432c79 26
wolfSSL 4:1b0d80432c79 27 #include <wolfssl/wolfcrypt/settings.h>
wolfSSL 4:1b0d80432c79 28
wolfSSL 4:1b0d80432c79 29 #include <wolfssl/wolfcrypt/error-crypt.h>
wolfSSL 4:1b0d80432c79 30
wolfSSL 4:1b0d80432c79 31 #ifdef _MSC_VER
wolfSSL 4:1b0d80432c79 32 /* 4996 warning to use MS extensions e.g., strcpy_s instead of XSTRNCPY */
wolfSSL 4:1b0d80432c79 33 #pragma warning(disable: 4996)
wolfSSL 4:1b0d80432c79 34 #endif
wolfSSL 4:1b0d80432c79 35
wolfSSL 4:1b0d80432c79 36 const char* wc_GetErrorString(int error)
wolfSSL 4:1b0d80432c79 37 {
wolfSSL 4:1b0d80432c79 38 #ifdef NO_ERROR_STRINGS
wolfSSL 4:1b0d80432c79 39
wolfSSL 4:1b0d80432c79 40 (void)error;
wolfSSL 4:1b0d80432c79 41 return "no support for error strings built in";
wolfSSL 4:1b0d80432c79 42
wolfSSL 4:1b0d80432c79 43 #else
wolfSSL 4:1b0d80432c79 44
wolfSSL 4:1b0d80432c79 45 switch (error) {
wolfSSL 4:1b0d80432c79 46
wolfSSL 4:1b0d80432c79 47 case OPEN_RAN_E :
wolfSSL 4:1b0d80432c79 48 return "opening random device error";
wolfSSL 4:1b0d80432c79 49
wolfSSL 4:1b0d80432c79 50 case READ_RAN_E :
wolfSSL 4:1b0d80432c79 51 return "reading random device error";
wolfSSL 4:1b0d80432c79 52
wolfSSL 4:1b0d80432c79 53 case WINCRYPT_E :
wolfSSL 4:1b0d80432c79 54 return "windows crypt init error";
wolfSSL 4:1b0d80432c79 55
wolfSSL 4:1b0d80432c79 56 case CRYPTGEN_E :
wolfSSL 4:1b0d80432c79 57 return "windows crypt generation error";
wolfSSL 4:1b0d80432c79 58
wolfSSL 4:1b0d80432c79 59 case RAN_BLOCK_E :
wolfSSL 4:1b0d80432c79 60 return "random device read would block error";
wolfSSL 4:1b0d80432c79 61
wolfSSL 4:1b0d80432c79 62 case BAD_MUTEX_E :
wolfSSL 4:1b0d80432c79 63 return "Bad mutex, operation failed";
wolfSSL 4:1b0d80432c79 64
wolfSSL 4:1b0d80432c79 65 case MP_INIT_E :
wolfSSL 4:1b0d80432c79 66 return "mp_init error state";
wolfSSL 4:1b0d80432c79 67
wolfSSL 4:1b0d80432c79 68 case MP_READ_E :
wolfSSL 4:1b0d80432c79 69 return "mp_read error state";
wolfSSL 4:1b0d80432c79 70
wolfSSL 4:1b0d80432c79 71 case MP_EXPTMOD_E :
wolfSSL 4:1b0d80432c79 72 return "mp_exptmod error state";
wolfSSL 4:1b0d80432c79 73
wolfSSL 4:1b0d80432c79 74 case MP_TO_E :
wolfSSL 4:1b0d80432c79 75 return "mp_to_xxx error state, can't convert";
wolfSSL 4:1b0d80432c79 76
wolfSSL 4:1b0d80432c79 77 case MP_SUB_E :
wolfSSL 4:1b0d80432c79 78 return "mp_sub error state, can't subtract";
wolfSSL 4:1b0d80432c79 79
wolfSSL 4:1b0d80432c79 80 case MP_ADD_E :
wolfSSL 4:1b0d80432c79 81 return "mp_add error state, can't add";
wolfSSL 4:1b0d80432c79 82
wolfSSL 4:1b0d80432c79 83 case MP_MUL_E :
wolfSSL 4:1b0d80432c79 84 return "mp_mul error state, can't multiply";
wolfSSL 4:1b0d80432c79 85
wolfSSL 4:1b0d80432c79 86 case MP_MULMOD_E :
wolfSSL 4:1b0d80432c79 87 return "mp_mulmod error state, can't multiply mod";
wolfSSL 4:1b0d80432c79 88
wolfSSL 4:1b0d80432c79 89 case MP_MOD_E :
wolfSSL 4:1b0d80432c79 90 return "mp_mod error state, can't mod";
wolfSSL 4:1b0d80432c79 91
wolfSSL 4:1b0d80432c79 92 case MP_INVMOD_E :
wolfSSL 4:1b0d80432c79 93 return "mp_invmod error state, can't inv mod";
wolfSSL 4:1b0d80432c79 94
wolfSSL 4:1b0d80432c79 95 case MP_CMP_E :
wolfSSL 4:1b0d80432c79 96 return "mp_cmp error state";
wolfSSL 4:1b0d80432c79 97
wolfSSL 4:1b0d80432c79 98 case MP_ZERO_E :
wolfSSL 4:1b0d80432c79 99 return "mp zero result, not expected";
wolfSSL 4:1b0d80432c79 100
wolfSSL 4:1b0d80432c79 101 case MEMORY_E :
wolfSSL 4:1b0d80432c79 102 return "out of memory error";
wolfSSL 4:1b0d80432c79 103
wolfSSL 4:1b0d80432c79 104 case RSA_WRONG_TYPE_E :
wolfSSL 4:1b0d80432c79 105 return "RSA wrong block type for RSA function";
wolfSSL 4:1b0d80432c79 106
wolfSSL 4:1b0d80432c79 107 case RSA_BUFFER_E :
wolfSSL 4:1b0d80432c79 108 return "RSA buffer error, output too small or input too big";
wolfSSL 4:1b0d80432c79 109
wolfSSL 4:1b0d80432c79 110 case BUFFER_E :
wolfSSL 4:1b0d80432c79 111 return "Buffer error, output too small or input too big";
wolfSSL 4:1b0d80432c79 112
wolfSSL 4:1b0d80432c79 113 case ALGO_ID_E :
wolfSSL 4:1b0d80432c79 114 return "Setting Cert AlgoID error";
wolfSSL 4:1b0d80432c79 115
wolfSSL 4:1b0d80432c79 116 case PUBLIC_KEY_E :
wolfSSL 4:1b0d80432c79 117 return "Setting Cert Public Key error";
wolfSSL 4:1b0d80432c79 118
wolfSSL 4:1b0d80432c79 119 case DATE_E :
wolfSSL 4:1b0d80432c79 120 return "Setting Cert Date validity error";
wolfSSL 4:1b0d80432c79 121
wolfSSL 4:1b0d80432c79 122 case SUBJECT_E :
wolfSSL 4:1b0d80432c79 123 return "Setting Cert Subject name error";
wolfSSL 4:1b0d80432c79 124
wolfSSL 4:1b0d80432c79 125 case ISSUER_E :
wolfSSL 4:1b0d80432c79 126 return "Setting Cert Issuer name error";
wolfSSL 4:1b0d80432c79 127
wolfSSL 4:1b0d80432c79 128 case CA_TRUE_E :
wolfSSL 4:1b0d80432c79 129 return "Setting basic constraint CA true error";
wolfSSL 4:1b0d80432c79 130
wolfSSL 4:1b0d80432c79 131 case EXTENSIONS_E :
wolfSSL 4:1b0d80432c79 132 return "Setting extensions error";
wolfSSL 4:1b0d80432c79 133
wolfSSL 4:1b0d80432c79 134 case ASN_PARSE_E :
wolfSSL 4:1b0d80432c79 135 return "ASN parsing error, invalid input";
wolfSSL 4:1b0d80432c79 136
wolfSSL 4:1b0d80432c79 137 case ASN_VERSION_E :
wolfSSL 4:1b0d80432c79 138 return "ASN version error, invalid number";
wolfSSL 4:1b0d80432c79 139
wolfSSL 4:1b0d80432c79 140 case ASN_GETINT_E :
wolfSSL 4:1b0d80432c79 141 return "ASN get big int error, invalid data";
wolfSSL 4:1b0d80432c79 142
wolfSSL 4:1b0d80432c79 143 case ASN_RSA_KEY_E :
wolfSSL 4:1b0d80432c79 144 return "ASN key init error, invalid input";
wolfSSL 4:1b0d80432c79 145
wolfSSL 4:1b0d80432c79 146 case ASN_OBJECT_ID_E :
wolfSSL 4:1b0d80432c79 147 return "ASN object id error, invalid id";
wolfSSL 4:1b0d80432c79 148
wolfSSL 4:1b0d80432c79 149 case ASN_TAG_NULL_E :
wolfSSL 4:1b0d80432c79 150 return "ASN tag error, not null";
wolfSSL 4:1b0d80432c79 151
wolfSSL 4:1b0d80432c79 152 case ASN_EXPECT_0_E :
wolfSSL 4:1b0d80432c79 153 return "ASN expect error, not zero";
wolfSSL 4:1b0d80432c79 154
wolfSSL 4:1b0d80432c79 155 case ASN_BITSTR_E :
wolfSSL 4:1b0d80432c79 156 return "ASN bit string error, wrong id";
wolfSSL 4:1b0d80432c79 157
wolfSSL 4:1b0d80432c79 158 case ASN_UNKNOWN_OID_E :
wolfSSL 4:1b0d80432c79 159 return "ASN oid error, unknown sum id";
wolfSSL 4:1b0d80432c79 160
wolfSSL 4:1b0d80432c79 161 case ASN_DATE_SZ_E :
wolfSSL 4:1b0d80432c79 162 return "ASN date error, bad size";
wolfSSL 4:1b0d80432c79 163
wolfSSL 4:1b0d80432c79 164 case ASN_BEFORE_DATE_E :
wolfSSL 4:1b0d80432c79 165 return "ASN date error, current date before";
wolfSSL 4:1b0d80432c79 166
wolfSSL 4:1b0d80432c79 167 case ASN_AFTER_DATE_E :
wolfSSL 4:1b0d80432c79 168 return "ASN date error, current date after";
wolfSSL 4:1b0d80432c79 169
wolfSSL 4:1b0d80432c79 170 case ASN_SIG_OID_E :
wolfSSL 4:1b0d80432c79 171 return "ASN signature error, mismatched oid";
wolfSSL 4:1b0d80432c79 172
wolfSSL 4:1b0d80432c79 173 case ASN_TIME_E :
wolfSSL 4:1b0d80432c79 174 return "ASN time error, unknown time type";
wolfSSL 4:1b0d80432c79 175
wolfSSL 4:1b0d80432c79 176 case ASN_INPUT_E :
wolfSSL 4:1b0d80432c79 177 return "ASN input error, not enough data";
wolfSSL 4:1b0d80432c79 178
wolfSSL 4:1b0d80432c79 179 case ASN_SIG_CONFIRM_E :
wolfSSL 4:1b0d80432c79 180 return "ASN sig error, confirm failure";
wolfSSL 4:1b0d80432c79 181
wolfSSL 4:1b0d80432c79 182 case ASN_SIG_HASH_E :
wolfSSL 4:1b0d80432c79 183 return "ASN sig error, unsupported hash type";
wolfSSL 4:1b0d80432c79 184
wolfSSL 4:1b0d80432c79 185 case ASN_SIG_KEY_E :
wolfSSL 4:1b0d80432c79 186 return "ASN sig error, unsupported key type";
wolfSSL 4:1b0d80432c79 187
wolfSSL 4:1b0d80432c79 188 case ASN_DH_KEY_E :
wolfSSL 4:1b0d80432c79 189 return "ASN key init error, invalid input";
wolfSSL 4:1b0d80432c79 190
wolfSSL 4:1b0d80432c79 191 case ASN_NTRU_KEY_E :
wolfSSL 4:1b0d80432c79 192 return "ASN NTRU key decode error, invalid input";
wolfSSL 4:1b0d80432c79 193
wolfSSL 4:1b0d80432c79 194 case ASN_CRIT_EXT_E:
wolfSSL 4:1b0d80432c79 195 return "X.509 Critical extension ignored";
wolfSSL 4:1b0d80432c79 196
wolfSSL 4:1b0d80432c79 197 case ECC_BAD_ARG_E :
wolfSSL 4:1b0d80432c79 198 return "ECC input argument wrong type, invalid input";
wolfSSL 4:1b0d80432c79 199
wolfSSL 4:1b0d80432c79 200 case ASN_ECC_KEY_E :
wolfSSL 4:1b0d80432c79 201 return "ECC ASN1 bad key data, invalid input";
wolfSSL 4:1b0d80432c79 202
wolfSSL 4:1b0d80432c79 203 case ECC_CURVE_OID_E :
wolfSSL 4:1b0d80432c79 204 return "ECC curve sum OID unsupported, invalid input";
wolfSSL 4:1b0d80432c79 205
wolfSSL 4:1b0d80432c79 206 case BAD_FUNC_ARG :
wolfSSL 4:1b0d80432c79 207 return "Bad function argument";
wolfSSL 4:1b0d80432c79 208
wolfSSL 4:1b0d80432c79 209 case NOT_COMPILED_IN :
wolfSSL 4:1b0d80432c79 210 return "Feature not compiled in";
wolfSSL 4:1b0d80432c79 211
wolfSSL 4:1b0d80432c79 212 case UNICODE_SIZE_E :
wolfSSL 4:1b0d80432c79 213 return "Unicode password too big";
wolfSSL 4:1b0d80432c79 214
wolfSSL 4:1b0d80432c79 215 case NO_PASSWORD :
wolfSSL 4:1b0d80432c79 216 return "No password provided by user";
wolfSSL 4:1b0d80432c79 217
wolfSSL 4:1b0d80432c79 218 case ALT_NAME_E :
wolfSSL 4:1b0d80432c79 219 return "Alt Name problem, too big";
wolfSSL 4:1b0d80432c79 220
wolfSSL 4:1b0d80432c79 221 case AES_GCM_AUTH_E:
wolfSSL 4:1b0d80432c79 222 return "AES-GCM Authentication check fail";
wolfSSL 4:1b0d80432c79 223
wolfSSL 4:1b0d80432c79 224 case AES_CCM_AUTH_E:
wolfSSL 4:1b0d80432c79 225 return "AES-CCM Authentication check fail";
wolfSSL 4:1b0d80432c79 226
wolfSSL 4:1b0d80432c79 227 case CAVIUM_INIT_E:
wolfSSL 4:1b0d80432c79 228 return "Cavium Init type error";
wolfSSL 4:1b0d80432c79 229
wolfSSL 4:1b0d80432c79 230 case COMPRESS_INIT_E:
wolfSSL 4:1b0d80432c79 231 return "Compress Init error";
wolfSSL 4:1b0d80432c79 232
wolfSSL 4:1b0d80432c79 233 case COMPRESS_E:
wolfSSL 4:1b0d80432c79 234 return "Compress error";
wolfSSL 4:1b0d80432c79 235
wolfSSL 4:1b0d80432c79 236 case DECOMPRESS_INIT_E:
wolfSSL 4:1b0d80432c79 237 return "DeCompress Init error";
wolfSSL 4:1b0d80432c79 238
wolfSSL 4:1b0d80432c79 239 case DECOMPRESS_E:
wolfSSL 4:1b0d80432c79 240 return "DeCompress error";
wolfSSL 4:1b0d80432c79 241
wolfSSL 4:1b0d80432c79 242 case BAD_ALIGN_E:
wolfSSL 4:1b0d80432c79 243 return "Bad alignment error, no alloc help";
wolfSSL 4:1b0d80432c79 244
wolfSSL 4:1b0d80432c79 245 case ASN_NO_SIGNER_E :
wolfSSL 4:1b0d80432c79 246 return "ASN no signer error to confirm failure";
wolfSSL 4:1b0d80432c79 247
wolfSSL 4:1b0d80432c79 248 case ASN_CRL_CONFIRM_E :
wolfSSL 4:1b0d80432c79 249 return "ASN CRL sig error, confirm failure";
wolfSSL 4:1b0d80432c79 250
wolfSSL 4:1b0d80432c79 251 case ASN_CRL_NO_SIGNER_E :
wolfSSL 4:1b0d80432c79 252 return "ASN CRL no signer error to confirm failure";
wolfSSL 4:1b0d80432c79 253
wolfSSL 4:1b0d80432c79 254 case ASN_OCSP_CONFIRM_E :
wolfSSL 4:1b0d80432c79 255 return "ASN OCSP sig error, confirm failure";
wolfSSL 4:1b0d80432c79 256
wolfSSL 4:1b0d80432c79 257 case BAD_ENC_STATE_E:
wolfSSL 4:1b0d80432c79 258 return "Bad ecc encrypt state operation";
wolfSSL 4:1b0d80432c79 259
wolfSSL 4:1b0d80432c79 260 case BAD_PADDING_E:
wolfSSL 4:1b0d80432c79 261 return "Bad padding, message wrong length";
wolfSSL 4:1b0d80432c79 262
wolfSSL 4:1b0d80432c79 263 case REQ_ATTRIBUTE_E:
wolfSSL 4:1b0d80432c79 264 return "Setting cert request attributes error";
wolfSSL 4:1b0d80432c79 265
wolfSSL 4:1b0d80432c79 266 case PKCS7_OID_E:
wolfSSL 4:1b0d80432c79 267 return "PKCS#7 error: mismatched OID value";
wolfSSL 4:1b0d80432c79 268
wolfSSL 4:1b0d80432c79 269 case PKCS7_RECIP_E:
wolfSSL 4:1b0d80432c79 270 return "PKCS#7 error: no matching recipient found";
wolfSSL 4:1b0d80432c79 271
wolfSSL 4:1b0d80432c79 272 case FIPS_NOT_ALLOWED_E:
wolfSSL 4:1b0d80432c79 273 return "FIPS mode not allowed error";
wolfSSL 4:1b0d80432c79 274
wolfSSL 4:1b0d80432c79 275 case ASN_NAME_INVALID_E:
wolfSSL 4:1b0d80432c79 276 return "Name Constraint error";
wolfSSL 4:1b0d80432c79 277
wolfSSL 4:1b0d80432c79 278 case RNG_FAILURE_E:
wolfSSL 4:1b0d80432c79 279 return "Random Number Generator failed";
wolfSSL 4:1b0d80432c79 280
wolfSSL 4:1b0d80432c79 281 case HMAC_MIN_KEYLEN_E:
wolfSSL 4:1b0d80432c79 282 return "FIPS Mode HMAC Minimum Key Length error";
wolfSSL 4:1b0d80432c79 283
wolfSSL 4:1b0d80432c79 284 case RSA_PAD_E:
wolfSSL 4:1b0d80432c79 285 return "Rsa Padding error";
wolfSSL 4:1b0d80432c79 286
wolfSSL 4:1b0d80432c79 287 case LENGTH_ONLY_E:
wolfSSL 4:1b0d80432c79 288 return "Output length only set, not for other use error";
wolfSSL 4:1b0d80432c79 289
wolfSSL 4:1b0d80432c79 290 case IN_CORE_FIPS_E:
wolfSSL 4:1b0d80432c79 291 return "In Core Integrity check FIPS error";
wolfSSL 4:1b0d80432c79 292
wolfSSL 4:1b0d80432c79 293 case AES_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 294 return "AES Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 295
wolfSSL 4:1b0d80432c79 296 case DES3_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 297 return "DES3 Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 298
wolfSSL 4:1b0d80432c79 299 case HMAC_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 300 return "HMAC Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 301
wolfSSL 4:1b0d80432c79 302 case RSA_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 303 return "RSA Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 304
wolfSSL 4:1b0d80432c79 305 case DRBG_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 306 return "DRBG Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 307
wolfSSL 4:1b0d80432c79 308 case DRBG_CONT_FIPS_E:
wolfSSL 4:1b0d80432c79 309 return "DRBG Continuous Test FIPS error";
wolfSSL 4:1b0d80432c79 310
wolfSSL 4:1b0d80432c79 311 case AESGCM_KAT_FIPS_E:
wolfSSL 4:1b0d80432c79 312 return "AESGCM Known Answer Test check FIPS error";
wolfSSL 4:1b0d80432c79 313
wolfSSL 4:1b0d80432c79 314 case THREAD_STORE_KEY_E:
wolfSSL 4:1b0d80432c79 315 return "Thread Storage Key Create error";
wolfSSL 4:1b0d80432c79 316
wolfSSL 4:1b0d80432c79 317 case THREAD_STORE_SET_E:
wolfSSL 4:1b0d80432c79 318 return "Thread Storage Set error";
wolfSSL 4:1b0d80432c79 319
wolfSSL 4:1b0d80432c79 320 case MAC_CMP_FAILED_E:
wolfSSL 4:1b0d80432c79 321 return "MAC comparison failed";
wolfSSL 4:1b0d80432c79 322
wolfSSL 4:1b0d80432c79 323 case IS_POINT_E:
wolfSSL 4:1b0d80432c79 324 return "ECC is point on curve failed";
wolfSSL 4:1b0d80432c79 325
wolfSSL 4:1b0d80432c79 326 case ECC_INF_E:
wolfSSL 4:1b0d80432c79 327 return " ECC point at infinity error";
wolfSSL 4:1b0d80432c79 328
wolfSSL 4:1b0d80432c79 329 case ECC_PRIV_KEY_E:
wolfSSL 4:1b0d80432c79 330 return " ECC private key is not valid error";
wolfSSL 4:1b0d80432c79 331
wolfSSL 4:1b0d80432c79 332 case SRP_CALL_ORDER_E:
wolfSSL 4:1b0d80432c79 333 return "SRP function called in the wrong order error";
wolfSSL 4:1b0d80432c79 334
wolfSSL 4:1b0d80432c79 335 case SRP_VERIFY_E:
wolfSSL 4:1b0d80432c79 336 return "SRP proof verification error";
wolfSSL 4:1b0d80432c79 337
wolfSSL 4:1b0d80432c79 338 case SRP_BAD_KEY_E:
wolfSSL 4:1b0d80432c79 339 return "SRP bad key values error";
wolfSSL 4:1b0d80432c79 340
wolfSSL 4:1b0d80432c79 341 case ASN_NO_SKID:
wolfSSL 4:1b0d80432c79 342 return "ASN no Subject Key Identifier found error";
wolfSSL 4:1b0d80432c79 343
wolfSSL 4:1b0d80432c79 344 case ASN_NO_AKID:
wolfSSL 4:1b0d80432c79 345 return "ASN no Authority Key Identifier found error";
wolfSSL 4:1b0d80432c79 346
wolfSSL 4:1b0d80432c79 347 case ASN_NO_KEYUSAGE:
wolfSSL 4:1b0d80432c79 348 return "ASN no Key Usage found error";
wolfSSL 4:1b0d80432c79 349
wolfSSL 4:1b0d80432c79 350 case SKID_E:
wolfSSL 4:1b0d80432c79 351 return "Setting Subject Key Identifier error";
wolfSSL 4:1b0d80432c79 352
wolfSSL 4:1b0d80432c79 353 case AKID_E:
wolfSSL 4:1b0d80432c79 354 return "Setting Authority Key Identifier error";
wolfSSL 4:1b0d80432c79 355
wolfSSL 4:1b0d80432c79 356 case KEYUSAGE_E:
wolfSSL 4:1b0d80432c79 357 return "Bad Key Usage value error";
wolfSSL 4:1b0d80432c79 358
wolfSSL 4:1b0d80432c79 359 case CERTPOLICIES_E:
wolfSSL 4:1b0d80432c79 360 return "Setting Certificate Policies error";
wolfSSL 4:1b0d80432c79 361
wolfSSL 4:1b0d80432c79 362 case WC_INIT_E:
wolfSSL 4:1b0d80432c79 363 return "wolfCrypt Initialize Failure error";
wolfSSL 4:1b0d80432c79 364
wolfSSL 4:1b0d80432c79 365 case SIG_VERIFY_E:
wolfSSL 4:1b0d80432c79 366 return "Signature verify error";
wolfSSL 4:1b0d80432c79 367
wolfSSL 4:1b0d80432c79 368 case BAD_COND_E:
wolfSSL 4:1b0d80432c79 369 return "Bad condition variable operation error";
wolfSSL 4:1b0d80432c79 370
wolfSSL 4:1b0d80432c79 371 case SIG_TYPE_E:
wolfSSL 4:1b0d80432c79 372 return "Signature type not enabled/available";
wolfSSL 4:1b0d80432c79 373
wolfSSL 4:1b0d80432c79 374 case HASH_TYPE_E:
wolfSSL 4:1b0d80432c79 375 return "Hash type not enabled/available";
wolfSSL 4:1b0d80432c79 376
wolfSSL 4:1b0d80432c79 377 default:
wolfSSL 4:1b0d80432c79 378 return "unknown error number";
wolfSSL 4:1b0d80432c79 379
wolfSSL 4:1b0d80432c79 380 }
wolfSSL 4:1b0d80432c79 381
wolfSSL 4:1b0d80432c79 382 #endif /* NO_ERROR_STRINGS */
wolfSSL 4:1b0d80432c79 383
wolfSSL 4:1b0d80432c79 384 }
wolfSSL 4:1b0d80432c79 385
wolfSSL 4:1b0d80432c79 386 void wc_ErrorString(int error, char* buffer)
wolfSSL 4:1b0d80432c79 387 {
wolfSSL 4:1b0d80432c79 388 XSTRNCPY(buffer, wc_GetErrorString(error), WOLFSSL_MAX_ERROR_SZ);
wolfSSL 4:1b0d80432c79 389 }
wolfSSL 4:1b0d80432c79 390