1 | /* |
2 | * cc_error.h |
3 | * corecrypto |
4 | * |
5 | * Created on 11/14/2017 |
6 | * |
7 | * Copyright (c) 2017 Apple Inc. All rights reserved. |
8 | * |
9 | */ |
10 | |
11 | #ifndef _CORECRYPTO_CC_ERROR_H_ |
12 | #define _CORECRYPTO_CC_ERROR_H_ |
13 | |
14 | enum { |
15 | CCERR_OK = 0, |
16 | |
17 | /* the default error code */ |
18 | CCERR_INTERNAL = -1, |
19 | |
20 | CCERR_INTEGRITY = -2, |
21 | |
22 | CCERR_DEVICE = -3, |
23 | CCERR_INTERRUPTS = -4, |
24 | CCERR_CRYPTO_CONFIG = -5, |
25 | CCERR_PERMS = -6, |
26 | CCERR_PARAMETER = -7, |
27 | CCERR_MEMORY = -8, |
28 | CCERR_FILEDESC = -9, |
29 | CCERR_OUT_OF_ENTROPY = -10, |
30 | CCERR_ATFORK = -11, |
31 | CCERR_OVERFLOW = -12, |
32 | |
33 | CCERR_MEMORY_ALLOC_FAIL = -13, |
34 | |
35 | CCEC_GENERATE_KEY_DEFAULT_ERR = -14, |
36 | CCEC_GENERATE_KEY_TOO_MANY_TRIES = -15, |
37 | CCEC_GENERATE_KEY_MULT_FAIL = -16, |
38 | CCEC_GENERATE_KEY_AFF_FAIL = -17, |
39 | CCEC_GENERATE_KEY_CONSISTENCY = -18, |
40 | CCEC_GENERATE_NOT_ON_CURVE = -19, |
41 | CCEC_GENERATE_NOT_ENOUGH_ENTROPY = -20, |
42 | CCEC_GENERATE_NOT_SUPPORTED = -21, |
43 | CCEC_GENERATE_INVALID_INPUT = -22, |
44 | |
45 | // Program error: buffer too small or encrypted message is too small |
46 | CCRSA_INVALID_INPUT = -23, |
47 | // Invalid crypto configuration: Hash length versus RSA key size |
48 | CCRSA_INVALID_CONFIG = -24, |
49 | CCRSA_ENCODING_ERROR = -25, |
50 | CCRSA_DECODING_ERROR = -26, |
51 | |
52 | // The data is invalid (we won't say more for security) |
53 | CCRSA_PRIVATE_OP_ERROR = -27, |
54 | CCRSA_KEY_ERROR = -28, |
55 | |
56 | // Key generation specific |
57 | CCRSA_KEYGEN_PRIME_NOT_FOUND = -29, |
58 | CCRSA_KEYGEN_PRIME_NEED_NEW_SEED = -30, |
59 | CCRSA_KEYGEN_PRIME_TOO_MANY_ITERATIONS = -31, |
60 | CCRSA_KEYGEN_PRIME_SEED_GENERATION_ERROR = -32, |
61 | CCRSA_KEYGEN_MODULUS_CRT_INV_ERROR = -33, |
62 | CCRSA_KEYGEN_NEXT_PRIME_ERROR = -34, |
63 | CCRSA_KEYGEN_SEED_X_ERROR = -35, |
64 | CCRSA_KEYGEN_SEED_r_ERROR = -36, |
65 | CCRSA_KEYGEN_KEYGEN_CONSISTENCY_FAIL = -37, |
66 | CCRSA_KEYGEN_R1R2_SIZE_ERROR = -38, |
67 | CCRSA_KEYGEN_PQ_DELTA_ERROR = -39, |
68 | |
69 | CCRSA_FIPS_KEYGEN_DISABLED = -40, |
70 | |
71 | CCZP_INV_ERROR = -41, |
72 | CCZP_INV_NO_INVERSE = -42, |
73 | CCZP_INV_INVALID_INPUT = -43, |
74 | |
75 | CCZ_INVALID_INPUT_ERROR = -44, |
76 | CCZ_INVALID_RADIX_ERROR = -45, |
77 | |
78 | CCDH_ERROR_DEFAULT = -46, |
79 | CCDH_GENERATE_KEY_TOO_MANY_TRIES = -47, |
80 | CCDH_NOT_SUPPORTED_CONFIGURATION = -48, |
81 | CCDH_SAFETY_CHECK = -49, |
82 | CCDH_PUBLIC_KEY_MISSING = -50, |
83 | CCDH_INVALID_DOMAIN_PARAMETER = -51, |
84 | CCDH_INVALID_INPUT = -52, |
85 | CCDH_DOMAIN_PARAMETER_MISMATCH = -53, |
86 | CCDH_GENERATE_KEY_CONSISTENCY = -54, |
87 | |
88 | CCSRP_ERROR_DEFAULT = -55, |
89 | CCSRP_GENERATE_KEY_TOO_MANY_TRIES = -56, |
90 | CCSRP_NOT_SUPPORTED_CONFIGURATION = -57, |
91 | CCSRP_SAFETY_CHECK = -58, |
92 | CCSRP_PUBLIC_KEY_MISSING = -59, |
93 | CCSRP_INVALID_DOMAIN_PARAMETER = -60, |
94 | |
95 | CCDRBG_STATUS_ERROR = -61, |
96 | CCDRBG_STATUS_NEED_RESEED = -62, |
97 | CCDRBG_STATUS_PARAM_ERROR = -63, |
98 | // If this value is returned, the caller must abort or panic the process for |
99 | // security reasons. for example in the case of catastrophic error in |
100 | // http://csrc.nist.gov/publications/drafts/800-90/sp800_90a_r1_draft.pdf |
101 | // ccdrbg calls abort() or panic(), if they are available in the system. |
102 | CCDRBG_STATUS_ABORT = -64, |
103 | |
104 | CCKPRNG_NEED_ENTROPY = -65, |
105 | CCKPRNG_ABORT = -66, |
106 | |
107 | CCMODE_INVALID_INPUT = -67, |
108 | CCMODE_INVALID_CALL_SEQUENCE = -68, |
109 | CCMODE_INTEGRITY_FAILURE = -69, |
110 | CCMODE_NOT_SUPPORTED = -70, |
111 | CCMODE_INTERNAL_ERROR = -71, |
112 | |
113 | // Configuration or unexpected issue |
114 | CCPOST_GENERIC_FAILURE = -72, |
115 | CCPOST_LIBRARY_ERROR = -73, |
116 | CCPOST_INTEGRITY_ERROR = -74, |
117 | // Output of the algo is not as expected |
118 | CCPOST_KAT_FAILURE = -75, |
119 | }; |
120 | |
121 | #define CCDRBG_STATUS_OK CCERR_OK |
122 | #define CCKPRNG_OK CCERR_OK |
123 | |
124 | #endif /* _CORECRYPTO_CC_ERROR_H_ */ |
125 | |