Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
error.c
00001 /* error.c 00002 * 00003 * Copyright (C) 2006-2013 wolfSSL Inc. 00004 * 00005 * This file is part of CyaSSL. 00006 * 00007 * CyaSSL is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * CyaSSL is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 00020 */ 00021 00022 #ifdef HAVE_CONFIG_H 00023 #include <config.h> 00024 #endif 00025 00026 #include <cyassl/ctaocrypt/settings.h> 00027 00028 #include <cyassl/ctaocrypt/error-crypt.h> 00029 00030 #ifdef _MSC_VER 00031 /* 4996 warning to use MS extensions e.g., strcpy_s instead of XSTRNCPY */ 00032 #pragma warning(disable: 4996) 00033 #endif 00034 00035 00036 void CTaoCryptErrorString(int error, char* buffer) 00037 { 00038 const int max = CYASSL_MAX_ERROR_SZ; /* shorthand */ 00039 00040 #ifdef NO_ERROR_STRINGS 00041 00042 (void)error; 00043 XSTRNCPY(buffer, "no support for error strings built in", max); 00044 00045 #else 00046 00047 switch (error) { 00048 00049 case OPEN_RAN_E : 00050 XSTRNCPY(buffer, "opening random device error", max); 00051 break; 00052 00053 case READ_RAN_E : 00054 XSTRNCPY(buffer, "reading random device error", max); 00055 break; 00056 00057 case WINCRYPT_E : 00058 XSTRNCPY(buffer, "windows crypt init error", max); 00059 break; 00060 00061 case CRYPTGEN_E : 00062 XSTRNCPY(buffer, "windows crypt generation error", max); 00063 break; 00064 00065 case RAN_BLOCK_E : 00066 XSTRNCPY(buffer, "random device read would block error", max); 00067 break; 00068 00069 case BAD_MUTEX_E : 00070 XSTRNCPY(buffer, "Bad mutex, operation failed", max); 00071 break; 00072 00073 case MP_INIT_E : 00074 XSTRNCPY(buffer, "mp_init error state", max); 00075 break; 00076 00077 case MP_READ_E : 00078 XSTRNCPY(buffer, "mp_read error state", max); 00079 break; 00080 00081 case MP_EXPTMOD_E : 00082 XSTRNCPY(buffer, "mp_exptmod error state", max); 00083 break; 00084 00085 case MP_TO_E : 00086 XSTRNCPY(buffer, "mp_to_xxx error state, can't convert", max); 00087 break; 00088 00089 case MP_SUB_E : 00090 XSTRNCPY(buffer, "mp_sub error state, can't subtract", max); 00091 break; 00092 00093 case MP_ADD_E : 00094 XSTRNCPY(buffer, "mp_add error state, can't add", max); 00095 break; 00096 00097 case MP_MUL_E : 00098 XSTRNCPY(buffer, "mp_mul error state, can't multiply", max); 00099 break; 00100 00101 case MP_MULMOD_E : 00102 XSTRNCPY(buffer, "mp_mulmod error state, can't multiply mod", max); 00103 break; 00104 00105 case MP_MOD_E : 00106 XSTRNCPY(buffer, "mp_mod error state, can't mod", max); 00107 break; 00108 00109 case MP_INVMOD_E : 00110 XSTRNCPY(buffer, "mp_invmod error state, can't inv mod", max); 00111 break; 00112 00113 case MP_CMP_E : 00114 XSTRNCPY(buffer, "mp_cmp error state", max); 00115 break; 00116 00117 case MP_ZERO_E : 00118 XSTRNCPY(buffer, "mp zero result, not expected", max); 00119 break; 00120 00121 case MEMORY_E : 00122 XSTRNCPY(buffer, "out of memory error", max); 00123 break; 00124 00125 case RSA_WRONG_TYPE_E : 00126 XSTRNCPY(buffer, "RSA wrong block type for RSA function", max); 00127 break; 00128 00129 case RSA_BUFFER_E : 00130 XSTRNCPY(buffer, "RSA buffer error, output too small or input too big", 00131 max); 00132 break; 00133 00134 case BUFFER_E : 00135 XSTRNCPY(buffer, "Buffer error, output too small or input too big",max); 00136 break; 00137 00138 case ALGO_ID_E : 00139 XSTRNCPY(buffer, "Setting Cert AlogID error", max); 00140 break; 00141 00142 case PUBLIC_KEY_E : 00143 XSTRNCPY(buffer, "Setting Cert Public Key error", max); 00144 break; 00145 00146 case DATE_E : 00147 XSTRNCPY(buffer, "Setting Cert Date validity error", max); 00148 break; 00149 00150 case SUBJECT_E : 00151 XSTRNCPY(buffer, "Setting Cert Subject name error", max); 00152 break; 00153 00154 case ISSUER_E : 00155 XSTRNCPY(buffer, "Setting Cert Issuer name error", max); 00156 break; 00157 00158 case CA_TRUE_E : 00159 XSTRNCPY(buffer, "Setting basic constraint CA true error", max); 00160 break; 00161 00162 case EXTENSIONS_E : 00163 XSTRNCPY(buffer, "Setting extensions error", max); 00164 break; 00165 00166 case ASN_PARSE_E : 00167 XSTRNCPY(buffer, "ASN parsing error, invalid input", max); 00168 break; 00169 00170 case ASN_VERSION_E : 00171 XSTRNCPY(buffer, "ASN version error, invalid number", max); 00172 break; 00173 00174 case ASN_GETINT_E : 00175 XSTRNCPY(buffer, "ASN get big int error, invalid data", max); 00176 break; 00177 00178 case ASN_RSA_KEY_E : 00179 XSTRNCPY(buffer, "ASN key init error, invalid input", max); 00180 break; 00181 00182 case ASN_OBJECT_ID_E : 00183 XSTRNCPY(buffer, "ASN object id error, invalid id", max); 00184 break; 00185 00186 case ASN_TAG_NULL_E : 00187 XSTRNCPY(buffer, "ASN tag error, not null", max); 00188 break; 00189 00190 case ASN_EXPECT_0_E : 00191 XSTRNCPY(buffer, "ASN expect error, not zero", max); 00192 break; 00193 00194 case ASN_BITSTR_E : 00195 XSTRNCPY(buffer, "ASN bit string error, wrong id", max); 00196 break; 00197 00198 case ASN_UNKNOWN_OID_E : 00199 XSTRNCPY(buffer, "ASN oid error, unknown sum id", max); 00200 break; 00201 00202 case ASN_DATE_SZ_E : 00203 XSTRNCPY(buffer, "ASN date error, bad size", max); 00204 break; 00205 00206 case ASN_BEFORE_DATE_E : 00207 XSTRNCPY(buffer, "ASN date error, current date before", max); 00208 break; 00209 00210 case ASN_AFTER_DATE_E : 00211 XSTRNCPY(buffer, "ASN date error, current date after", max); 00212 break; 00213 00214 case ASN_SIG_OID_E : 00215 XSTRNCPY(buffer, "ASN signature error, mismatched oid", max); 00216 break; 00217 00218 case ASN_TIME_E : 00219 XSTRNCPY(buffer, "ASN time error, unkown time type", max); 00220 break; 00221 00222 case ASN_INPUT_E : 00223 XSTRNCPY(buffer, "ASN input error, not enough data", max); 00224 break; 00225 00226 case ASN_SIG_CONFIRM_E : 00227 XSTRNCPY(buffer, "ASN sig error, confirm failure", max); 00228 break; 00229 00230 case ASN_SIG_HASH_E : 00231 XSTRNCPY(buffer, "ASN sig error, unsupported hash type", max); 00232 break; 00233 00234 case ASN_SIG_KEY_E : 00235 XSTRNCPY(buffer, "ASN sig error, unsupported key type", max); 00236 break; 00237 00238 case ASN_DH_KEY_E : 00239 XSTRNCPY(buffer, "ASN key init error, invalid input", max); 00240 break; 00241 00242 case ASN_NTRU_KEY_E : 00243 XSTRNCPY(buffer, "ASN NTRU key decode error, invalid input", max); 00244 break; 00245 00246 case ASN_CRIT_EXT_E: 00247 XSTRNCPY(buffer, "X.509 Critical extension ignored", max); 00248 break; 00249 00250 case ECC_BAD_ARG_E : 00251 XSTRNCPY(buffer, "ECC input argument wrong type, invalid input", max); 00252 break; 00253 00254 case ASN_ECC_KEY_E : 00255 XSTRNCPY(buffer, "ECC ASN1 bad key data, invalid input", max); 00256 break; 00257 00258 case ECC_CURVE_OID_E : 00259 XSTRNCPY(buffer, "ECC curve sum OID unsupported, invalid input", max); 00260 break; 00261 00262 case BAD_FUNC_ARG : 00263 XSTRNCPY(buffer, "Bad function argument", max); 00264 break; 00265 00266 case NOT_COMPILED_IN : 00267 XSTRNCPY(buffer, "Feature not compiled in", max); 00268 break; 00269 00270 case UNICODE_SIZE_E : 00271 XSTRNCPY(buffer, "Unicode password too big", max); 00272 break; 00273 00274 case NO_PASSWORD : 00275 XSTRNCPY(buffer, "No password provided by user", max); 00276 break; 00277 00278 case ALT_NAME_E : 00279 XSTRNCPY(buffer, "Alt Name problem, too big", max); 00280 break; 00281 00282 case AES_GCM_AUTH_E: 00283 XSTRNCPY(buffer, "AES-GCM Authentication check fail", max); 00284 break; 00285 00286 case AES_CCM_AUTH_E: 00287 XSTRNCPY(buffer, "AES-CCM Authentication check fail", max); 00288 break; 00289 00290 case CAVIUM_INIT_E: 00291 XSTRNCPY(buffer, "Cavium Init type error", max); 00292 break; 00293 00294 case COMPRESS_INIT_E: 00295 XSTRNCPY(buffer, "Compress Init error", max); 00296 break; 00297 00298 case COMPRESS_E: 00299 XSTRNCPY(buffer, "Compress error", max); 00300 break; 00301 00302 case DECOMPRESS_INIT_E: 00303 XSTRNCPY(buffer, "DeCompress Init error", max); 00304 break; 00305 00306 case DECOMPRESS_E: 00307 XSTRNCPY(buffer, "DeCompress error", max); 00308 break; 00309 00310 case BAD_ALIGN_E: 00311 XSTRNCPY(buffer, "Bad alignment error, no alloc help", max); 00312 break; 00313 00314 case ASN_NO_SIGNER_E : 00315 XSTRNCPY(buffer, "ASN no signer error to confirm failure", max); 00316 break; 00317 00318 case ASN_CRL_CONFIRM_E : 00319 XSTRNCPY(buffer, "ASN CRL sig error, confirm failure", max); 00320 break; 00321 00322 case ASN_CRL_NO_SIGNER_E : 00323 XSTRNCPY(buffer, "ASN CRL no signer error to confirm failure", max); 00324 break; 00325 00326 case ASN_OCSP_CONFIRM_E : 00327 XSTRNCPY(buffer, "ASN OCSP sig error, confirm failure", max); 00328 break; 00329 00330 case BAD_ENC_STATE_E: 00331 XSTRNCPY(buffer, "Bad ecc encrypt state operation", max); 00332 break; 00333 00334 case BAD_PADDING_E: 00335 XSTRNCPY(buffer, "Bad padding, message wrong length", max); 00336 break; 00337 00338 case REQ_ATTRIBUTE_E: 00339 XSTRNCPY(buffer, "Setting cert request attributes error", max); 00340 break; 00341 00342 case PKCS7_OID_E: 00343 XSTRNCPY(buffer, "PKCS#7 error: mismatched OID value", max); 00344 break; 00345 00346 case PKCS7_RECIP_E: 00347 XSTRNCPY(buffer, "PKCS#7 error: no matching recipient found", max); 00348 break; 00349 00350 case FIPS_NOT_ALLOWED_E: 00351 XSTRNCPY(buffer, "FIPS mode not allowed error", max); 00352 break; 00353 00354 default: 00355 XSTRNCPY(buffer, "unknown error number", max); 00356 00357 } 00358 00359 #endif /* NO_ERROR_STRINGS */ 00360 00361 }
Generated on Tue Jul 12 2022 20:12:50 by
