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