1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | |
5 | #ifndef __SEC_ERR_H_ |
6 | #define __SEC_ERR_H_ |
7 | |
8 | #include "utilrename.h" |
9 | |
10 | #define SEC_ERROR_BASE (-0x2000) |
11 | #define SEC_ERROR_LIMIT (SEC_ERROR_BASE + 1000) |
12 | |
13 | #define IS_SEC_ERROR(code) \ |
14 | (((code) >= SEC_ERROR_BASE) && ((code) < SEC_ERROR_LIMIT)) |
15 | |
16 | #ifndef NO_SECURITY_ERROR_ENUM |
17 | typedef enum { |
18 | SEC_ERROR_IO = SEC_ERROR_BASE + 0, |
19 | SEC_ERROR_LIBRARY_FAILURE = SEC_ERROR_BASE + 1, |
20 | SEC_ERROR_BAD_DATA = SEC_ERROR_BASE + 2, |
21 | SEC_ERROR_OUTPUT_LEN = SEC_ERROR_BASE + 3, |
22 | SEC_ERROR_INPUT_LEN = SEC_ERROR_BASE + 4, |
23 | SEC_ERROR_INVALID_ARGS = SEC_ERROR_BASE + 5, |
24 | SEC_ERROR_INVALID_ALGORITHM = SEC_ERROR_BASE + 6, |
25 | SEC_ERROR_INVALID_AVA = SEC_ERROR_BASE + 7, |
26 | SEC_ERROR_INVALID_TIME = SEC_ERROR_BASE + 8, |
27 | SEC_ERROR_BAD_DER = SEC_ERROR_BASE + 9, |
28 | SEC_ERROR_BAD_SIGNATURE = SEC_ERROR_BASE + 10, |
29 | SEC_ERROR_EXPIRED_CERTIFICATE = SEC_ERROR_BASE + 11, |
30 | SEC_ERROR_REVOKED_CERTIFICATE = SEC_ERROR_BASE + 12, |
31 | SEC_ERROR_UNKNOWN_ISSUER = SEC_ERROR_BASE + 13, |
32 | SEC_ERROR_BAD_KEY = SEC_ERROR_BASE + 14, |
33 | SEC_ERROR_BAD_PASSWORD = SEC_ERROR_BASE + 15, |
34 | SEC_ERROR_RETRY_PASSWORD = SEC_ERROR_BASE + 16, |
35 | SEC_ERROR_NO_NODELOCK = SEC_ERROR_BASE + 17, |
36 | SEC_ERROR_BAD_DATABASE = SEC_ERROR_BASE + 18, |
37 | SEC_ERROR_NO_MEMORY = SEC_ERROR_BASE + 19, |
38 | SEC_ERROR_UNTRUSTED_ISSUER = SEC_ERROR_BASE + 20, |
39 | SEC_ERROR_UNTRUSTED_CERT = SEC_ERROR_BASE + 21, |
40 | SEC_ERROR_DUPLICATE_CERT = (SEC_ERROR_BASE + 22), |
41 | SEC_ERROR_DUPLICATE_CERT_NAME = (SEC_ERROR_BASE + 23), |
42 | SEC_ERROR_ADDING_CERT = (SEC_ERROR_BASE + 24), |
43 | SEC_ERROR_FILING_KEY = (SEC_ERROR_BASE + 25), |
44 | SEC_ERROR_NO_KEY = (SEC_ERROR_BASE + 26), |
45 | SEC_ERROR_CERT_VALID = (SEC_ERROR_BASE + 27), |
46 | SEC_ERROR_CERT_NOT_VALID = (SEC_ERROR_BASE + 28), |
47 | SEC_ERROR_CERT_NO_RESPONSE = (SEC_ERROR_BASE + 29), |
48 | SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE = (SEC_ERROR_BASE + 30), |
49 | SEC_ERROR_CRL_EXPIRED = (SEC_ERROR_BASE + 31), |
50 | SEC_ERROR_CRL_BAD_SIGNATURE = (SEC_ERROR_BASE + 32), |
51 | SEC_ERROR_CRL_INVALID = (SEC_ERROR_BASE + 33), |
52 | SEC_ERROR_EXTENSION_VALUE_INVALID = (SEC_ERROR_BASE + 34), |
53 | SEC_ERROR_EXTENSION_NOT_FOUND = (SEC_ERROR_BASE + 35), |
54 | SEC_ERROR_CA_CERT_INVALID = (SEC_ERROR_BASE + 36), |
55 | SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID = (SEC_ERROR_BASE + 37), |
56 | SEC_ERROR_CERT_USAGES_INVALID = (SEC_ERROR_BASE + 38), |
57 | SEC_INTERNAL_ONLY = (SEC_ERROR_BASE + 39), |
58 | SEC_ERROR_INVALID_KEY = (SEC_ERROR_BASE + 40), |
59 | SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION = (SEC_ERROR_BASE + 41), |
60 | SEC_ERROR_OLD_CRL = (SEC_ERROR_BASE + 42), |
61 | SEC_ERROR_NO_EMAIL_CERT = (SEC_ERROR_BASE + 43), |
62 | SEC_ERROR_NO_RECIPIENT_CERTS_QUERY = (SEC_ERROR_BASE + 44), |
63 | SEC_ERROR_NOT_A_RECIPIENT = (SEC_ERROR_BASE + 45), |
64 | SEC_ERROR_PKCS7_KEYALG_MISMATCH = (SEC_ERROR_BASE + 46), |
65 | SEC_ERROR_PKCS7_BAD_SIGNATURE = (SEC_ERROR_BASE + 47), |
66 | SEC_ERROR_UNSUPPORTED_KEYALG = (SEC_ERROR_BASE + 48), |
67 | SEC_ERROR_DECRYPTION_DISALLOWED = (SEC_ERROR_BASE + 49), |
68 | /* Fortezza Alerts */ |
69 | XP_SEC_FORTEZZA_BAD_CARD = (SEC_ERROR_BASE + 50), |
70 | XP_SEC_FORTEZZA_NO_CARD = (SEC_ERROR_BASE + 51), |
71 | XP_SEC_FORTEZZA_NONE_SELECTED = (SEC_ERROR_BASE + 52), |
72 | XP_SEC_FORTEZZA_MORE_INFO = (SEC_ERROR_BASE + 53), |
73 | XP_SEC_FORTEZZA_PERSON_NOT_FOUND = (SEC_ERROR_BASE + 54), |
74 | XP_SEC_FORTEZZA_NO_MORE_INFO = (SEC_ERROR_BASE + 55), |
75 | XP_SEC_FORTEZZA_BAD_PIN = (SEC_ERROR_BASE + 56), |
76 | XP_SEC_FORTEZZA_PERSON_ERROR = (SEC_ERROR_BASE + 57), |
77 | SEC_ERROR_NO_KRL = (SEC_ERROR_BASE + 58), |
78 | SEC_ERROR_KRL_EXPIRED = (SEC_ERROR_BASE + 59), |
79 | SEC_ERROR_KRL_BAD_SIGNATURE = (SEC_ERROR_BASE + 60), |
80 | SEC_ERROR_REVOKED_KEY = (SEC_ERROR_BASE + 61), |
81 | SEC_ERROR_KRL_INVALID = (SEC_ERROR_BASE + 62), |
82 | SEC_ERROR_NEED_RANDOM = (SEC_ERROR_BASE + 63), |
83 | SEC_ERROR_NO_MODULE = (SEC_ERROR_BASE + 64), |
84 | SEC_ERROR_NO_TOKEN = (SEC_ERROR_BASE + 65), |
85 | SEC_ERROR_READ_ONLY = (SEC_ERROR_BASE + 66), |
86 | SEC_ERROR_NO_SLOT_SELECTED = (SEC_ERROR_BASE + 67), |
87 | SEC_ERROR_CERT_NICKNAME_COLLISION = (SEC_ERROR_BASE + 68), |
88 | SEC_ERROR_KEY_NICKNAME_COLLISION = (SEC_ERROR_BASE + 69), |
89 | SEC_ERROR_SAFE_NOT_CREATED = (SEC_ERROR_BASE + 70), |
90 | SEC_ERROR_BAGGAGE_NOT_CREATED = (SEC_ERROR_BASE + 71), |
91 | XP_JAVA_REMOVE_PRINCIPAL_ERROR = (SEC_ERROR_BASE + 72), |
92 | XP_JAVA_DELETE_PRIVILEGE_ERROR = (SEC_ERROR_BASE + 73), |
93 | XP_JAVA_CERT_NOT_EXISTS_ERROR = (SEC_ERROR_BASE + 74), |
94 | SEC_ERROR_BAD_EXPORT_ALGORITHM = (SEC_ERROR_BASE + 75), |
95 | SEC_ERROR_EXPORTING_CERTIFICATES = (SEC_ERROR_BASE + 76), |
96 | SEC_ERROR_IMPORTING_CERTIFICATES = (SEC_ERROR_BASE + 77), |
97 | SEC_ERROR_PKCS12_DECODING_PFX = (SEC_ERROR_BASE + 78), |
98 | SEC_ERROR_PKCS12_INVALID_MAC = (SEC_ERROR_BASE + 79), |
99 | SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM = (SEC_ERROR_BASE + 80), |
100 | SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE = (SEC_ERROR_BASE + 81), |
101 | SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE = (SEC_ERROR_BASE + 82), |
102 | SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM = (SEC_ERROR_BASE + 83), |
103 | SEC_ERROR_PKCS12_UNSUPPORTED_VERSION = (SEC_ERROR_BASE + 84), |
104 | SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT = (SEC_ERROR_BASE + 85), |
105 | SEC_ERROR_PKCS12_CERT_COLLISION = (SEC_ERROR_BASE + 86), |
106 | SEC_ERROR_USER_CANCELLED = (SEC_ERROR_BASE + 87), |
107 | SEC_ERROR_PKCS12_DUPLICATE_DATA = (SEC_ERROR_BASE + 88), |
108 | SEC_ERROR_MESSAGE_SEND_ABORTED = (SEC_ERROR_BASE + 89), |
109 | SEC_ERROR_INADEQUATE_KEY_USAGE = (SEC_ERROR_BASE + 90), |
110 | SEC_ERROR_INADEQUATE_CERT_TYPE = (SEC_ERROR_BASE + 91), |
111 | SEC_ERROR_CERT_ADDR_MISMATCH = (SEC_ERROR_BASE + 92), |
112 | SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY = (SEC_ERROR_BASE + 93), |
113 | SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN = (SEC_ERROR_BASE + 94), |
114 | SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME = (SEC_ERROR_BASE + 95), |
115 | SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY = (SEC_ERROR_BASE + 96), |
116 | SEC_ERROR_PKCS12_UNABLE_TO_WRITE = (SEC_ERROR_BASE + 97), |
117 | SEC_ERROR_PKCS12_UNABLE_TO_READ = (SEC_ERROR_BASE + 98), |
118 | SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED = (SEC_ERROR_BASE + 99), |
119 | SEC_ERROR_KEYGEN_FAIL = (SEC_ERROR_BASE + 100), |
120 | SEC_ERROR_INVALID_PASSWORD = (SEC_ERROR_BASE + 101), |
121 | SEC_ERROR_RETRY_OLD_PASSWORD = (SEC_ERROR_BASE + 102), |
122 | SEC_ERROR_BAD_NICKNAME = (SEC_ERROR_BASE + 103), |
123 | SEC_ERROR_NOT_FORTEZZA_ISSUER = (SEC_ERROR_BASE + 104), |
124 | SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY = (SEC_ERROR_BASE + 105), |
125 | SEC_ERROR_JS_INVALID_MODULE_NAME = (SEC_ERROR_BASE + 106), |
126 | SEC_ERROR_JS_INVALID_DLL = (SEC_ERROR_BASE + 107), |
127 | SEC_ERROR_JS_ADD_MOD_FAILURE = (SEC_ERROR_BASE + 108), |
128 | SEC_ERROR_JS_DEL_MOD_FAILURE = (SEC_ERROR_BASE + 109), |
129 | SEC_ERROR_OLD_KRL = (SEC_ERROR_BASE + 110), |
130 | SEC_ERROR_CKL_CONFLICT = (SEC_ERROR_BASE + 111), |
131 | SEC_ERROR_CERT_NOT_IN_NAME_SPACE = (SEC_ERROR_BASE + 112), |
132 | SEC_ERROR_KRL_NOT_YET_VALID = (SEC_ERROR_BASE + 113), |
133 | SEC_ERROR_CRL_NOT_YET_VALID = (SEC_ERROR_BASE + 114), |
134 | SEC_ERROR_UNKNOWN_CERT = (SEC_ERROR_BASE + 115), |
135 | SEC_ERROR_UNKNOWN_SIGNER = (SEC_ERROR_BASE + 116), |
136 | SEC_ERROR_CERT_BAD_ACCESS_LOCATION = (SEC_ERROR_BASE + 117), |
137 | SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE = (SEC_ERROR_BASE + 118), |
138 | SEC_ERROR_OCSP_BAD_HTTP_RESPONSE = (SEC_ERROR_BASE + 119), |
139 | SEC_ERROR_OCSP_MALFORMED_REQUEST = (SEC_ERROR_BASE + 120), |
140 | SEC_ERROR_OCSP_SERVER_ERROR = (SEC_ERROR_BASE + 121), |
141 | SEC_ERROR_OCSP_TRY_SERVER_LATER = (SEC_ERROR_BASE + 122), |
142 | SEC_ERROR_OCSP_REQUEST_NEEDS_SIG = (SEC_ERROR_BASE + 123), |
143 | SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST = (SEC_ERROR_BASE + 124), |
144 | SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS = (SEC_ERROR_BASE + 125), |
145 | SEC_ERROR_OCSP_UNKNOWN_CERT = (SEC_ERROR_BASE + 126), |
146 | SEC_ERROR_OCSP_NOT_ENABLED = (SEC_ERROR_BASE + 127), |
147 | SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER = (SEC_ERROR_BASE + 128), |
148 | SEC_ERROR_OCSP_MALFORMED_RESPONSE = (SEC_ERROR_BASE + 129), |
149 | SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE = (SEC_ERROR_BASE + 130), |
150 | SEC_ERROR_OCSP_FUTURE_RESPONSE = (SEC_ERROR_BASE + 131), |
151 | SEC_ERROR_OCSP_OLD_RESPONSE = (SEC_ERROR_BASE + 132), |
152 | /* smime stuff */ |
153 | SEC_ERROR_DIGEST_NOT_FOUND = (SEC_ERROR_BASE + 133), |
154 | SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE = (SEC_ERROR_BASE + 134), |
155 | SEC_ERROR_MODULE_STUCK = (SEC_ERROR_BASE + 135), |
156 | SEC_ERROR_BAD_TEMPLATE = (SEC_ERROR_BASE + 136), |
157 | SEC_ERROR_CRL_NOT_FOUND = (SEC_ERROR_BASE + 137), |
158 | SEC_ERROR_REUSED_ISSUER_AND_SERIAL = (SEC_ERROR_BASE + 138), |
159 | SEC_ERROR_BUSY = (SEC_ERROR_BASE + 139), |
160 | = (SEC_ERROR_BASE + 140), |
161 | /* error codes used by elliptic curve code */ |
162 | SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE = (SEC_ERROR_BASE + 141), |
163 | SEC_ERROR_UNSUPPORTED_EC_POINT_FORM = (SEC_ERROR_BASE + 142), |
164 | SEC_ERROR_UNRECOGNIZED_OID = (SEC_ERROR_BASE + 143), |
165 | SEC_ERROR_OCSP_INVALID_SIGNING_CERT = (SEC_ERROR_BASE + 144), |
166 | /* new revocation errors */ |
167 | SEC_ERROR_REVOKED_CERTIFICATE_CRL = (SEC_ERROR_BASE + 145), |
168 | SEC_ERROR_REVOKED_CERTIFICATE_OCSP = (SEC_ERROR_BASE + 146), |
169 | SEC_ERROR_CRL_INVALID_VERSION = (SEC_ERROR_BASE + 147), |
170 | SEC_ERROR_CRL_V1_CRITICAL_EXTENSION = (SEC_ERROR_BASE + 148), |
171 | SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION = (SEC_ERROR_BASE + 149), |
172 | SEC_ERROR_UNKNOWN_OBJECT_TYPE = (SEC_ERROR_BASE + 150), |
173 | SEC_ERROR_INCOMPATIBLE_PKCS11 = (SEC_ERROR_BASE + 151), |
174 | SEC_ERROR_NO_EVENT = (SEC_ERROR_BASE + 152), |
175 | SEC_ERROR_CRL_ALREADY_EXISTS = (SEC_ERROR_BASE + 153), |
176 | SEC_ERROR_NOT_INITIALIZED = (SEC_ERROR_BASE + 154), |
177 | SEC_ERROR_TOKEN_NOT_LOGGED_IN = (SEC_ERROR_BASE + 155), |
178 | SEC_ERROR_OCSP_RESPONDER_CERT_INVALID = (SEC_ERROR_BASE + 156), |
179 | SEC_ERROR_OCSP_BAD_SIGNATURE = (SEC_ERROR_BASE + 157), |
180 | |
181 | SEC_ERROR_OUT_OF_SEARCH_LIMITS = (SEC_ERROR_BASE + 158), |
182 | SEC_ERROR_INVALID_POLICY_MAPPING = (SEC_ERROR_BASE + 159), |
183 | SEC_ERROR_POLICY_VALIDATION_FAILED = (SEC_ERROR_BASE + 160), |
184 | /* No longer used. Unknown AIA location types are now silently ignored. */ |
185 | SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE = (SEC_ERROR_BASE + 161), |
186 | SEC_ERROR_BAD_HTTP_RESPONSE = (SEC_ERROR_BASE + 162), |
187 | SEC_ERROR_BAD_LDAP_RESPONSE = (SEC_ERROR_BASE + 163), |
188 | SEC_ERROR_FAILED_TO_ENCODE_DATA = (SEC_ERROR_BASE + 164), |
189 | SEC_ERROR_BAD_INFO_ACCESS_LOCATION = (SEC_ERROR_BASE + 165), |
190 | |
191 | SEC_ERROR_LIBPKIX_INTERNAL = (SEC_ERROR_BASE + 166), |
192 | |
193 | SEC_ERROR_PKCS11_GENERAL_ERROR = (SEC_ERROR_BASE + 167), |
194 | SEC_ERROR_PKCS11_FUNCTION_FAILED = (SEC_ERROR_BASE + 168), |
195 | SEC_ERROR_PKCS11_DEVICE_ERROR = (SEC_ERROR_BASE + 169), |
196 | |
197 | SEC_ERROR_BAD_INFO_ACCESS_METHOD = (SEC_ERROR_BASE + 170), |
198 | SEC_ERROR_CRL_IMPORT_FAILED = (SEC_ERROR_BASE + 171), |
199 | |
200 | SEC_ERROR_EXPIRED_PASSWORD = (SEC_ERROR_BASE + 172), |
201 | SEC_ERROR_LOCKED_PASSWORD = (SEC_ERROR_BASE + 173), |
202 | |
203 | SEC_ERROR_UNKNOWN_PKCS11_ERROR = (SEC_ERROR_BASE + 174), |
204 | |
205 | SEC_ERROR_BAD_CRL_DP_URL = (SEC_ERROR_BASE + 175), |
206 | |
207 | SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED = (SEC_ERROR_BASE + 176), |
208 | |
209 | SEC_ERROR_LEGACY_DATABASE = (SEC_ERROR_BASE + 177), |
210 | |
211 | SEC_ERROR_APPLICATION_CALLBACK_ERROR = (SEC_ERROR_BASE + 178), |
212 | |
213 | SEC_ERROR_INVALID_STATE = (SEC_ERROR_BASE + 179), |
214 | |
215 | SEC_ERROR_POLICY_LOCKED = (SEC_ERROR_BASE + 180), |
216 | SEC_ERROR_SIGNATURE_ALGORITHM_DISABLED = (SEC_ERROR_BASE + 181), |
217 | SEC_ERROR_ALGORITHM_MISMATCH = (SEC_ERROR_BASE + 182), |
218 | |
219 | SEC_ERROR_CERTIFICATE_COMPRESSION_ALGORITHM_NOT_SUPPORTED = (SEC_ERROR_BASE + 183), |
220 | SEC_ERROR_UNEXPECTED_COMPRESSED_CERTIFICATE = (SEC_ERROR_BASE + 184), |
221 | /* Add new error codes above here. */ |
222 | SEC_ERROR_END_OF_LIST |
223 | } SECErrorCodes; |
224 | #endif /* NO_SECURITY_ERROR_ENUM */ |
225 | |
226 | #endif /* __SEC_ERR_H_ */ |
227 | |