wolfSSL 3.11.1 for TLS1.3 beta
Fork of wolfSSL by
wolfssl/wolfcrypt/error-crypt.h@13:80fb167dafdf, 2017-05-30 (annotated)
- Committer:
- wolfSSL
- Date:
- Tue May 30 06:16:19 2017 +0000
- Revision:
- 13:80fb167dafdf
- Parent:
- 11:cee25a834751
wolfSSL 3.11.1: TLS1.3 Beta
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wolfSSL | 11:cee25a834751 | 1 | /* error-crypt.h |
wolfSSL | 11:cee25a834751 | 2 | * |
wolfSSL | 11:cee25a834751 | 3 | * Copyright (C) 2006-2016 wolfSSL Inc. |
wolfSSL | 11:cee25a834751 | 4 | * |
wolfSSL | 11:cee25a834751 | 5 | * This file is part of wolfSSL. |
wolfSSL | 11:cee25a834751 | 6 | * |
wolfSSL | 11:cee25a834751 | 7 | * wolfSSL is free software; you can redistribute it and/or modify |
wolfSSL | 11:cee25a834751 | 8 | * it under the terms of the GNU General Public License as published by |
wolfSSL | 11:cee25a834751 | 9 | * the Free Software Foundation; either version 2 of the License, or |
wolfSSL | 11:cee25a834751 | 10 | * (at your option) any later version. |
wolfSSL | 11:cee25a834751 | 11 | * |
wolfSSL | 11:cee25a834751 | 12 | * wolfSSL is distributed in the hope that it will be useful, |
wolfSSL | 11:cee25a834751 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
wolfSSL | 11:cee25a834751 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
wolfSSL | 11:cee25a834751 | 15 | * GNU General Public License for more details. |
wolfSSL | 11:cee25a834751 | 16 | * |
wolfSSL | 11:cee25a834751 | 17 | * You should have received a copy of the GNU General Public License |
wolfSSL | 11:cee25a834751 | 18 | * along with this program; if not, write to the Free Software |
wolfSSL | 11:cee25a834751 | 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA |
wolfSSL | 11:cee25a834751 | 20 | */ |
wolfSSL | 11:cee25a834751 | 21 | |
wolfSSL | 11:cee25a834751 | 22 | |
wolfSSL | 11:cee25a834751 | 23 | |
wolfSSL | 11:cee25a834751 | 24 | #ifndef WOLF_CRYPT_ERROR_H |
wolfSSL | 11:cee25a834751 | 25 | #define WOLF_CRYPT_ERROR_H |
wolfSSL | 11:cee25a834751 | 26 | |
wolfSSL | 11:cee25a834751 | 27 | #include <wolfssl/wolfcrypt/types.h> |
wolfSSL | 11:cee25a834751 | 28 | |
wolfSSL | 11:cee25a834751 | 29 | #ifdef HAVE_FIPS |
wolfSSL | 11:cee25a834751 | 30 | #include <cyassl/ctaocrypt/error-crypt.h> |
wolfSSL | 11:cee25a834751 | 31 | #endif /* HAVE_FIPS */ |
wolfSSL | 11:cee25a834751 | 32 | |
wolfSSL | 11:cee25a834751 | 33 | #ifdef __cplusplus |
wolfSSL | 11:cee25a834751 | 34 | extern "C" { |
wolfSSL | 11:cee25a834751 | 35 | #endif |
wolfSSL | 11:cee25a834751 | 36 | |
wolfSSL | 11:cee25a834751 | 37 | |
wolfSSL | 11:cee25a834751 | 38 | /* error codes, add string for new errors !!! */ |
wolfSSL | 11:cee25a834751 | 39 | enum { |
wolfSSL | 11:cee25a834751 | 40 | MAX_CODE_E = -100, /* errors -101 - -299 */ |
wolfSSL | 11:cee25a834751 | 41 | OPEN_RAN_E = -101, /* opening random device error */ |
wolfSSL | 11:cee25a834751 | 42 | READ_RAN_E = -102, /* reading random device error */ |
wolfSSL | 11:cee25a834751 | 43 | WINCRYPT_E = -103, /* windows crypt init error */ |
wolfSSL | 11:cee25a834751 | 44 | CRYPTGEN_E = -104, /* windows crypt generation error */ |
wolfSSL | 11:cee25a834751 | 45 | RAN_BLOCK_E = -105, /* reading random device would block */ |
wolfSSL | 11:cee25a834751 | 46 | BAD_MUTEX_E = -106, /* Bad mutex operation */ |
wolfSSL | 11:cee25a834751 | 47 | WC_TIMEOUT_E = -107, /* timeout error */ |
wolfSSL | 11:cee25a834751 | 48 | WC_PENDING_E = -108, /* wolfCrypt operation pending (would block) */ |
wolfSSL | 11:cee25a834751 | 49 | WC_NOT_PENDING_E = -109, /* wolfCrypt operation not pending */ |
wolfSSL | 11:cee25a834751 | 50 | |
wolfSSL | 11:cee25a834751 | 51 | MP_INIT_E = -110, /* mp_init error state */ |
wolfSSL | 11:cee25a834751 | 52 | MP_READ_E = -111, /* mp_read error state */ |
wolfSSL | 11:cee25a834751 | 53 | MP_EXPTMOD_E = -112, /* mp_exptmod error state */ |
wolfSSL | 11:cee25a834751 | 54 | MP_TO_E = -113, /* mp_to_xxx error state, can't convert */ |
wolfSSL | 11:cee25a834751 | 55 | MP_SUB_E = -114, /* mp_sub error state, can't subtract */ |
wolfSSL | 11:cee25a834751 | 56 | MP_ADD_E = -115, /* mp_add error state, can't add */ |
wolfSSL | 11:cee25a834751 | 57 | MP_MUL_E = -116, /* mp_mul error state, can't multiply */ |
wolfSSL | 11:cee25a834751 | 58 | MP_MULMOD_E = -117, /* mp_mulmod error state, can't multiply mod */ |
wolfSSL | 11:cee25a834751 | 59 | MP_MOD_E = -118, /* mp_mod error state, can't mod */ |
wolfSSL | 11:cee25a834751 | 60 | MP_INVMOD_E = -119, /* mp_invmod error state, can't inv mod */ |
wolfSSL | 11:cee25a834751 | 61 | MP_CMP_E = -120, /* mp_cmp error state */ |
wolfSSL | 11:cee25a834751 | 62 | MP_ZERO_E = -121, /* got a mp zero result, not expected */ |
wolfSSL | 11:cee25a834751 | 63 | |
wolfSSL | 11:cee25a834751 | 64 | MEMORY_E = -125, /* out of memory error */ |
wolfSSL | 11:cee25a834751 | 65 | VAR_STATE_CHANGE_E = -126, /* var state modified by different thread */ |
wolfSSL | 11:cee25a834751 | 66 | |
wolfSSL | 11:cee25a834751 | 67 | RSA_WRONG_TYPE_E = -130, /* RSA wrong block type for RSA function */ |
wolfSSL | 11:cee25a834751 | 68 | RSA_BUFFER_E = -131, /* RSA buffer error, output too small or |
wolfSSL | 11:cee25a834751 | 69 | input too large */ |
wolfSSL | 11:cee25a834751 | 70 | BUFFER_E = -132, /* output buffer too small or input too large */ |
wolfSSL | 11:cee25a834751 | 71 | ALGO_ID_E = -133, /* setting algo id error */ |
wolfSSL | 11:cee25a834751 | 72 | PUBLIC_KEY_E = -134, /* setting public key error */ |
wolfSSL | 11:cee25a834751 | 73 | DATE_E = -135, /* setting date validity error */ |
wolfSSL | 11:cee25a834751 | 74 | SUBJECT_E = -136, /* setting subject name error */ |
wolfSSL | 11:cee25a834751 | 75 | ISSUER_E = -137, /* setting issuer name error */ |
wolfSSL | 11:cee25a834751 | 76 | CA_TRUE_E = -138, /* setting CA basic constraint true error */ |
wolfSSL | 11:cee25a834751 | 77 | EXTENSIONS_E = -139, /* setting extensions error */ |
wolfSSL | 11:cee25a834751 | 78 | |
wolfSSL | 11:cee25a834751 | 79 | ASN_PARSE_E = -140, /* ASN parsing error, invalid input */ |
wolfSSL | 11:cee25a834751 | 80 | ASN_VERSION_E = -141, /* ASN version error, invalid number */ |
wolfSSL | 11:cee25a834751 | 81 | ASN_GETINT_E = -142, /* ASN get big int error, invalid data */ |
wolfSSL | 11:cee25a834751 | 82 | ASN_RSA_KEY_E = -143, /* ASN key init error, invalid input */ |
wolfSSL | 11:cee25a834751 | 83 | ASN_OBJECT_ID_E = -144, /* ASN object id error, invalid id */ |
wolfSSL | 11:cee25a834751 | 84 | ASN_TAG_NULL_E = -145, /* ASN tag error, not null */ |
wolfSSL | 11:cee25a834751 | 85 | ASN_EXPECT_0_E = -146, /* ASN expect error, not zero */ |
wolfSSL | 11:cee25a834751 | 86 | ASN_BITSTR_E = -147, /* ASN bit string error, wrong id */ |
wolfSSL | 11:cee25a834751 | 87 | ASN_UNKNOWN_OID_E = -148, /* ASN oid error, unknown sum id */ |
wolfSSL | 11:cee25a834751 | 88 | ASN_DATE_SZ_E = -149, /* ASN date error, bad size */ |
wolfSSL | 11:cee25a834751 | 89 | ASN_BEFORE_DATE_E = -150, /* ASN date error, current date before */ |
wolfSSL | 11:cee25a834751 | 90 | ASN_AFTER_DATE_E = -151, /* ASN date error, current date after */ |
wolfSSL | 11:cee25a834751 | 91 | ASN_SIG_OID_E = -152, /* ASN signature error, mismatched oid */ |
wolfSSL | 11:cee25a834751 | 92 | ASN_TIME_E = -153, /* ASN time error, unknown time type */ |
wolfSSL | 11:cee25a834751 | 93 | ASN_INPUT_E = -154, /* ASN input error, not enough data */ |
wolfSSL | 11:cee25a834751 | 94 | ASN_SIG_CONFIRM_E = -155, /* ASN sig error, confirm failure */ |
wolfSSL | 11:cee25a834751 | 95 | ASN_SIG_HASH_E = -156, /* ASN sig error, unsupported hash type */ |
wolfSSL | 11:cee25a834751 | 96 | ASN_SIG_KEY_E = -157, /* ASN sig error, unsupported key type */ |
wolfSSL | 11:cee25a834751 | 97 | ASN_DH_KEY_E = -158, /* ASN key init error, invalid input */ |
wolfSSL | 11:cee25a834751 | 98 | ASN_NTRU_KEY_E = -159, /* ASN ntru key decode error, invalid input */ |
wolfSSL | 11:cee25a834751 | 99 | ASN_CRIT_EXT_E = -160, /* ASN unsupported critical extension */ |
wolfSSL | 11:cee25a834751 | 100 | |
wolfSSL | 11:cee25a834751 | 101 | ECC_BAD_ARG_E = -170, /* ECC input argument of wrong type */ |
wolfSSL | 11:cee25a834751 | 102 | ASN_ECC_KEY_E = -171, /* ASN ECC bad input */ |
wolfSSL | 11:cee25a834751 | 103 | ECC_CURVE_OID_E = -172, /* Unsupported ECC OID curve type */ |
wolfSSL | 11:cee25a834751 | 104 | BAD_FUNC_ARG = -173, /* Bad function argument provided */ |
wolfSSL | 11:cee25a834751 | 105 | NOT_COMPILED_IN = -174, /* Feature not compiled in */ |
wolfSSL | 11:cee25a834751 | 106 | UNICODE_SIZE_E = -175, /* Unicode password too big */ |
wolfSSL | 11:cee25a834751 | 107 | NO_PASSWORD = -176, /* no password provided by user */ |
wolfSSL | 11:cee25a834751 | 108 | ALT_NAME_E = -177, /* alt name size problem, too big */ |
wolfSSL | 11:cee25a834751 | 109 | |
wolfSSL | 11:cee25a834751 | 110 | AES_GCM_AUTH_E = -180, /* AES-GCM Authentication check failure */ |
wolfSSL | 11:cee25a834751 | 111 | AES_CCM_AUTH_E = -181, /* AES-CCM Authentication check failure */ |
wolfSSL | 11:cee25a834751 | 112 | |
wolfSSL | 11:cee25a834751 | 113 | ASYNC_INIT_E = -182, /* Async Init type error */ |
wolfSSL | 11:cee25a834751 | 114 | |
wolfSSL | 11:cee25a834751 | 115 | COMPRESS_INIT_E = -183, /* Compress init error */ |
wolfSSL | 11:cee25a834751 | 116 | COMPRESS_E = -184, /* Compress error */ |
wolfSSL | 11:cee25a834751 | 117 | DECOMPRESS_INIT_E = -185, /* DeCompress init error */ |
wolfSSL | 11:cee25a834751 | 118 | DECOMPRESS_E = -186, /* DeCompress error */ |
wolfSSL | 11:cee25a834751 | 119 | |
wolfSSL | 11:cee25a834751 | 120 | BAD_ALIGN_E = -187, /* Bad alignment for operation, no alloc */ |
wolfSSL | 11:cee25a834751 | 121 | ASN_NO_SIGNER_E = -188, /* ASN no signer to confirm failure */ |
wolfSSL | 11:cee25a834751 | 122 | ASN_CRL_CONFIRM_E = -189, /* ASN CRL signature confirm failure */ |
wolfSSL | 11:cee25a834751 | 123 | ASN_CRL_NO_SIGNER_E = -190, /* ASN CRL no signer to confirm failure */ |
wolfSSL | 11:cee25a834751 | 124 | ASN_OCSP_CONFIRM_E = -191, /* ASN OCSP signature confirm failure */ |
wolfSSL | 11:cee25a834751 | 125 | |
wolfSSL | 11:cee25a834751 | 126 | BAD_STATE_E = -192, /* Bad state operation */ |
wolfSSL | 11:cee25a834751 | 127 | BAD_PADDING_E = -193, /* Bad padding, msg not correct length */ |
wolfSSL | 11:cee25a834751 | 128 | |
wolfSSL | 11:cee25a834751 | 129 | REQ_ATTRIBUTE_E = -194, /* setting cert request attributes error */ |
wolfSSL | 11:cee25a834751 | 130 | |
wolfSSL | 11:cee25a834751 | 131 | PKCS7_OID_E = -195, /* PKCS#7, mismatched OID error */ |
wolfSSL | 11:cee25a834751 | 132 | PKCS7_RECIP_E = -196, /* PKCS#7, recipient error */ |
wolfSSL | 11:cee25a834751 | 133 | FIPS_NOT_ALLOWED_E = -197, /* FIPS not allowed error */ |
wolfSSL | 11:cee25a834751 | 134 | ASN_NAME_INVALID_E = -198, /* ASN name constraint error */ |
wolfSSL | 11:cee25a834751 | 135 | |
wolfSSL | 11:cee25a834751 | 136 | RNG_FAILURE_E = -199, /* RNG Failed, Reinitialize */ |
wolfSSL | 11:cee25a834751 | 137 | HMAC_MIN_KEYLEN_E = -200, /* FIPS Mode HMAC Minimum Key Length error */ |
wolfSSL | 11:cee25a834751 | 138 | RSA_PAD_E = -201, /* RSA Padding Error */ |
wolfSSL | 11:cee25a834751 | 139 | LENGTH_ONLY_E = -202, /* Returning output length only */ |
wolfSSL | 11:cee25a834751 | 140 | |
wolfSSL | 11:cee25a834751 | 141 | IN_CORE_FIPS_E = -203, /* In Core Integrity check failure */ |
wolfSSL | 11:cee25a834751 | 142 | AES_KAT_FIPS_E = -204, /* AES KAT failure */ |
wolfSSL | 11:cee25a834751 | 143 | DES3_KAT_FIPS_E = -205, /* DES3 KAT failure */ |
wolfSSL | 11:cee25a834751 | 144 | HMAC_KAT_FIPS_E = -206, /* HMAC KAT failure */ |
wolfSSL | 11:cee25a834751 | 145 | RSA_KAT_FIPS_E = -207, /* RSA KAT failure */ |
wolfSSL | 11:cee25a834751 | 146 | DRBG_KAT_FIPS_E = -208, /* HASH DRBG KAT failure */ |
wolfSSL | 11:cee25a834751 | 147 | DRBG_CONT_FIPS_E = -209, /* HASH DRBG Continuous test failure */ |
wolfSSL | 11:cee25a834751 | 148 | AESGCM_KAT_FIPS_E = -210, /* AESGCM KAT failure */ |
wolfSSL | 11:cee25a834751 | 149 | THREAD_STORE_KEY_E = -211, /* Thread local storage key create failure */ |
wolfSSL | 11:cee25a834751 | 150 | THREAD_STORE_SET_E = -212, /* Thread local storage key set failure */ |
wolfSSL | 11:cee25a834751 | 151 | |
wolfSSL | 11:cee25a834751 | 152 | MAC_CMP_FAILED_E = -213, /* MAC comparison failed */ |
wolfSSL | 11:cee25a834751 | 153 | IS_POINT_E = -214, /* ECC is point on curve failed */ |
wolfSSL | 11:cee25a834751 | 154 | ECC_INF_E = -215, /* ECC point infinity error */ |
wolfSSL | 11:cee25a834751 | 155 | ECC_PRIV_KEY_E = -216, /* ECC private key not valid error */ |
wolfSSL | 11:cee25a834751 | 156 | ECC_OUT_OF_RANGE_E = -217, /* ECC key component out of range */ |
wolfSSL | 11:cee25a834751 | 157 | |
wolfSSL | 11:cee25a834751 | 158 | SRP_CALL_ORDER_E = -218, /* SRP function called in the wrong order. */ |
wolfSSL | 11:cee25a834751 | 159 | SRP_VERIFY_E = -219, /* SRP proof verification failed. */ |
wolfSSL | 11:cee25a834751 | 160 | SRP_BAD_KEY_E = -220, /* SRP bad ephemeral values. */ |
wolfSSL | 11:cee25a834751 | 161 | |
wolfSSL | 11:cee25a834751 | 162 | ASN_NO_SKID = -221, /* ASN no Subject Key Identifier found */ |
wolfSSL | 11:cee25a834751 | 163 | ASN_NO_AKID = -222, /* ASN no Authority Key Identifier found */ |
wolfSSL | 11:cee25a834751 | 164 | ASN_NO_KEYUSAGE = -223, /* ASN no Key Usage found */ |
wolfSSL | 11:cee25a834751 | 165 | SKID_E = -224, /* setting Subject Key Identifier error */ |
wolfSSL | 11:cee25a834751 | 166 | AKID_E = -225, /* setting Authority Key Identifier error */ |
wolfSSL | 11:cee25a834751 | 167 | KEYUSAGE_E = -226, /* Bad Key Usage value */ |
wolfSSL | 11:cee25a834751 | 168 | CERTPOLICIES_E = -227, /* setting Certificate Policies error */ |
wolfSSL | 11:cee25a834751 | 169 | |
wolfSSL | 11:cee25a834751 | 170 | WC_INIT_E = -228, /* wolfcrypt failed to initialize */ |
wolfSSL | 11:cee25a834751 | 171 | SIG_VERIFY_E = -229, /* wolfcrypt signature verify error */ |
wolfSSL | 11:cee25a834751 | 172 | BAD_COND_E = -230, /* Bad condition variable operation */ |
wolfSSL | 11:cee25a834751 | 173 | SIG_TYPE_E = -231, /* Signature Type not enabled/available */ |
wolfSSL | 11:cee25a834751 | 174 | HASH_TYPE_E = -232, /* Hash Type not enabled/available */ |
wolfSSL | 11:cee25a834751 | 175 | |
wolfSSL | 11:cee25a834751 | 176 | WC_KEY_SIZE_E = -234, /* Key size error, either too small or large */ |
wolfSSL | 11:cee25a834751 | 177 | ASN_COUNTRY_SIZE_E = -235, /* ASN Cert Gen, invalid country code size */ |
wolfSSL | 11:cee25a834751 | 178 | MISSING_RNG_E = -236, /* RNG required but not provided */ |
wolfSSL | 11:cee25a834751 | 179 | ASN_PATHLEN_SIZE_E = -237, /* ASN CA path length too large error */ |
wolfSSL | 11:cee25a834751 | 180 | ASN_PATHLEN_INV_E = -238, /* ASN CA path length inversion error */ |
wolfSSL | 11:cee25a834751 | 181 | |
wolfSSL | 11:cee25a834751 | 182 | BAD_KEYWRAP_ALG_E = -239, |
wolfSSL | 11:cee25a834751 | 183 | BAD_KEYWRAP_IV_E = -240, /* Decrypted AES key wrap IV incorrect */ |
wolfSSL | 11:cee25a834751 | 184 | WC_CLEANUP_E = -241, /* wolfcrypt cleanup failed */ |
wolfSSL | 11:cee25a834751 | 185 | ECC_CDH_KAT_FIPS_E = -242, /* ECC CDH Known Answer Test failure */ |
wolfSSL | 11:cee25a834751 | 186 | DH_CHECK_PUB_E = -243, /* DH Check Pub Key error */ |
wolfSSL | 11:cee25a834751 | 187 | BAD_PATH_ERROR = -244, /* Bad path for opendir */ |
wolfSSL | 11:cee25a834751 | 188 | |
wolfSSL | 11:cee25a834751 | 189 | ASYNC_OP_E = -245, /* Async operation error */ |
wolfSSL | 11:cee25a834751 | 190 | |
wolfSSL | 11:cee25a834751 | 191 | WC_LAST_E = -245, /* Update this to indicate last error */ |
wolfSSL | 11:cee25a834751 | 192 | MIN_CODE_E = -300 /* errors -101 - -299 */ |
wolfSSL | 11:cee25a834751 | 193 | |
wolfSSL | 11:cee25a834751 | 194 | /* add new companion error id strings for any new error codes |
wolfSSL | 11:cee25a834751 | 195 | wolfcrypt/src/error.c !!! */ |
wolfSSL | 11:cee25a834751 | 196 | }; |
wolfSSL | 11:cee25a834751 | 197 | |
wolfSSL | 11:cee25a834751 | 198 | |
wolfSSL | 11:cee25a834751 | 199 | WOLFSSL_API void wc_ErrorString(int err, char* buff); |
wolfSSL | 11:cee25a834751 | 200 | WOLFSSL_API const char* wc_GetErrorString(int error); |
wolfSSL | 11:cee25a834751 | 201 | |
wolfSSL | 11:cee25a834751 | 202 | |
wolfSSL | 11:cee25a834751 | 203 | #ifdef __cplusplus |
wolfSSL | 11:cee25a834751 | 204 | } /* extern "C" */ |
wolfSSL | 11:cee25a834751 | 205 | #endif |
wolfSSL | 11:cee25a834751 | 206 | #endif /* WOLF_CRYPT_ERROR_H */ |
wolfSSL | 11:cee25a834751 | 207 |