1 /*
2  * Copyright (c) 2001 by Sun Microsystems, Inc.
3  * All rights reserved.
4  */
5 
6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
7 
8 /*
9  * The contents of this file are subject to the Netscape Public
10  * License Version 1.1 (the "License"); you may not use this file
11  * except in compliance with the License. You may obtain a copy of
12  * the License at http://www.mozilla.org/NPL/
13  *
14  * Software distributed under the License is distributed on an "AS
15  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
16  * implied. See the License for the specific language governing
17  * rights and limitations under the License.
18  *
19  * The Original Code is Mozilla Communicator client code, released
20  * March 31, 1998.
21  *
22  * The Initial Developer of the Original Code is Netscape
23  * Communications Corporation. Portions created by Netscape are
24  * Copyright (C) 1998-1999 Netscape Communications Corporation. All
25  * Rights Reserved.
26  *
27  * Contributor(s):
28  */
29 /*
30  * sslerrstrs.h - map SSL errors to strings (used by errormap.c)
31  *
32  */
33 
34 /*
35  ****************************************************************************
36  * The code below this point was provided by Nelson Bolyard <nelsonb> of the
37  *	Netscape Certificate Server team on 27-March-1998.
38  *	Taken from the file ns/security/cmd/lib/SSLerrs.h on NSS_1_BRANCH.
39  *	Last updated from there: 24-July-1998 by Mark Smith <mcs>
40  *
41  * All of the Directory Server specific changes are enclosed inside
42  *	#ifdef NS_DIRECTORY.
43  ****************************************************************************
44  */
45 
46 /* SSL-specific security error codes  */
47 /* caller must include "sslerr.h" */
48 
49 ER3(SSL_ERROR_EXPORT_ONLY_SERVER,			SSL_ERROR_BASE + 0,
50 dgettext(TEXT_DOMAIN,
51 "Unable to communicate securely.  Peer does not support high-grade encryption."))
52 
53 ER3(SSL_ERROR_US_ONLY_SERVER,				SSL_ERROR_BASE + 1,
54 dgettext(TEXT_DOMAIN,
55 "Unable to communicate securely.  Peer requires high-grade encryption which is not supported."))
56 
57 ER3(SSL_ERROR_NO_CYPHER_OVERLAP,			SSL_ERROR_BASE + 2,
58 dgettext(TEXT_DOMAIN,
59 "Cannot communicate securely with peer: no common encryption algorithm(s)."))
60 
61 ER3(SSL_ERROR_NO_CERTIFICATE,				SSL_ERROR_BASE + 3,
62 dgettext(TEXT_DOMAIN,
63 "Unable to find the certificate or key necessary for authentication."))
64 
65 ER3(SSL_ERROR_BAD_CERTIFICATE,				SSL_ERROR_BASE + 4,
66 dgettext(TEXT_DOMAIN,
67 "Unable to communicate securely with peer: peers's certificate was rejected."))
68 
69 /* unused						(SSL_ERROR_BASE + 5),*/
70 
71 ER3(SSL_ERROR_BAD_CLIENT,				SSL_ERROR_BASE + 6,
72 dgettext(TEXT_DOMAIN,
73 "The server has encountered bad data from the client."))
74 
75 ER3(SSL_ERROR_BAD_SERVER,				SSL_ERROR_BASE + 7,
76 dgettext(TEXT_DOMAIN,
77 "The client has encountered bad data from the server."))
78 
79 ER3(SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE,		SSL_ERROR_BASE + 8,
80 dgettext(TEXT_DOMAIN,
81 "Unsupported certificate type."))
82 
83 ER3(SSL_ERROR_UNSUPPORTED_VERSION,			SSL_ERROR_BASE + 9,
84 dgettext(TEXT_DOMAIN,
85 "Peer using unsupported version of security protocol."))
86 
87 /* unused						(SSL_ERROR_BASE + 10),*/
88 
89 ER3(SSL_ERROR_WRONG_CERTIFICATE,			SSL_ERROR_BASE + 11,
90 dgettext(TEXT_DOMAIN,
91 "Client authentication failed: private key in key database does not match public key in certificate database."))
92 
93 ER3(SSL_ERROR_BAD_CERT_DOMAIN,				SSL_ERROR_BASE + 12,
94 dgettext(TEXT_DOMAIN,
95 "Unable to communicate securely with peer: requested domain name does not match the server's certificate."))
96 
97 /* SSL_ERROR_POST_WARNING				(SSL_ERROR_BASE + 13),
98    defined in sslerr.h
99 */
100 
101 ER3(SSL_ERROR_SSL2_DISABLED,				(SSL_ERROR_BASE + 14),
102 dgettext(TEXT_DOMAIN,
103 "Peer only supports SSL version 2, which is locally disabled."))
104 
105 
106 ER3(SSL_ERROR_BAD_MAC_READ,				(SSL_ERROR_BASE + 15),
107 dgettext(TEXT_DOMAIN,
108 "SSL received a record with an incorrect Message Authentication Code."))
109 
110 ER3(SSL_ERROR_BAD_MAC_ALERT,				(SSL_ERROR_BASE + 16),
111 dgettext(TEXT_DOMAIN,
112 "SSL peer reports incorrect Message Authentication Code."))
113 
114 ER3(SSL_ERROR_BAD_CERT_ALERT,				(SSL_ERROR_BASE + 17),
115 dgettext(TEXT_DOMAIN,
116 "SSL peer cannot verify your certificate."))
117 
118 ER3(SSL_ERROR_REVOKED_CERT_ALERT,			(SSL_ERROR_BASE + 18),
119 dgettext(TEXT_DOMAIN,
120 "SSL peer rejected your certificate as revoked."))
121 
122 ER3(SSL_ERROR_EXPIRED_CERT_ALERT,			(SSL_ERROR_BASE + 19),
123 dgettext(TEXT_DOMAIN,
124 "SSL peer rejected your certificate as expired."))
125 
126 ER3(SSL_ERROR_SSL_DISABLED,				(SSL_ERROR_BASE + 20),
127 dgettext(TEXT_DOMAIN,
128 "Cannot connect: SSL is disabled."))
129 
130 ER3(SSL_ERROR_FORTEZZA_PQG,				(SSL_ERROR_BASE + 21),
131 dgettext(TEXT_DOMAIN,
132 "Cannot connect: SSL peer is in another FORTEZZA domain."))
133 
134 ER3(SSL_ERROR_UNKNOWN_CIPHER_SUITE          , (SSL_ERROR_BASE + 22),
135 dgettext(TEXT_DOMAIN,
136 "An unknown SSL cipher suite has been requested."))
137 
138 ER3(SSL_ERROR_NO_CIPHERS_SUPPORTED          , (SSL_ERROR_BASE + 23),
139 dgettext(TEXT_DOMAIN,
140 "No cipher suites are present and enabled in this program."))
141 
142 ER3(SSL_ERROR_BAD_BLOCK_PADDING             , (SSL_ERROR_BASE + 24),
143 dgettext(TEXT_DOMAIN,
144 "SSL received a record with bad block padding."))
145 
146 ER3(SSL_ERROR_RX_RECORD_TOO_LONG            , (SSL_ERROR_BASE + 25),
147 dgettext(TEXT_DOMAIN,
148 "SSL received a record that exceeded the maximum permissible length."))
149 
150 ER3(SSL_ERROR_TX_RECORD_TOO_LONG            , (SSL_ERROR_BASE + 26),
151 dgettext(TEXT_DOMAIN,
152 "SSL attempted to send a record that exceeded the maximum permissible length."))
153 
154 /*
155  * Received a malformed (too long or short or invalid content) SSL handshake.
156  */
157 ER3(SSL_ERROR_RX_MALFORMED_HELLO_REQUEST    , (SSL_ERROR_BASE + 27),
158 dgettext(TEXT_DOMAIN,
159 "SSL received a malformed Hello Request handshake message."))
160 
161 ER3(SSL_ERROR_RX_MALFORMED_CLIENT_HELLO     , (SSL_ERROR_BASE + 28),
162 dgettext(TEXT_DOMAIN,
163 "SSL received a malformed Client Hello handshake message."))
164 
165 ER3(SSL_ERROR_RX_MALFORMED_SERVER_HELLO     , (SSL_ERROR_BASE + 29),
166 dgettext(TEXT_DOMAIN,
167 "SSL received a malformed Server Hello handshake message."))
168 
169 ER3(SSL_ERROR_RX_MALFORMED_CERTIFICATE      , (SSL_ERROR_BASE + 30),
170 dgettext(TEXT_DOMAIN,
171 "SSL received a malformed Certificate handshake message."))
172 
173 ER3(SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH  , (SSL_ERROR_BASE + 31),
174 dgettext(TEXT_DOMAIN,
175 "SSL received a malformed Server Key Exchange handshake message."))
176 
177 ER3(SSL_ERROR_RX_MALFORMED_CERT_REQUEST     , (SSL_ERROR_BASE + 32),
178 dgettext(TEXT_DOMAIN,
179 "SSL received a malformed Certificate Request handshake message."))
180 
181 ER3(SSL_ERROR_RX_MALFORMED_HELLO_DONE       , (SSL_ERROR_BASE + 33),
182 dgettext(TEXT_DOMAIN,
183 "SSL received a malformed Server Hello Done handshake message."))
184 
185 ER3(SSL_ERROR_RX_MALFORMED_CERT_VERIFY      , (SSL_ERROR_BASE + 34),
186 dgettext(TEXT_DOMAIN,
187 "SSL received a malformed Certificate Verify handshake message."))
188 
189 ER3(SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH  , (SSL_ERROR_BASE + 35),
190 dgettext(TEXT_DOMAIN,
191 "SSL received a malformed Client Key Exchange handshake message."))
192 
193 ER3(SSL_ERROR_RX_MALFORMED_FINISHED         , (SSL_ERROR_BASE + 36),
194 dgettext(TEXT_DOMAIN,
195 "SSL received a malformed Finished handshake message."))
196 
197 /*
198  * Received a malformed (too long or short) SSL record.
199  */
200 ER3(SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER    , (SSL_ERROR_BASE + 37),
201 dgettext(TEXT_DOMAIN,
202 "SSL received a malformed Change Cipher Spec record."))
203 
204 ER3(SSL_ERROR_RX_MALFORMED_ALERT            , (SSL_ERROR_BASE + 38),
205 dgettext(TEXT_DOMAIN,
206 "SSL received a malformed Alert record."))
207 
208 ER3(SSL_ERROR_RX_MALFORMED_HANDSHAKE        , (SSL_ERROR_BASE + 39),
209 dgettext(TEXT_DOMAIN,
210 "SSL received a malformed Handshake record."))
211 
212 ER3(SSL_ERROR_RX_MALFORMED_APPLICATION_DATA , (SSL_ERROR_BASE + 40),
213 dgettext(TEXT_DOMAIN,
214 "SSL received a malformed Application Data record."))
215 
216 /*
217  * Received an SSL handshake that was inappropriate for the state we're in.
218  * E.g. Server received message from server, or wrong state in state machine.
219  */
220 ER3(SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST   , (SSL_ERROR_BASE + 41),
221 dgettext(TEXT_DOMAIN,
222 "SSL received an unexpected Hello Request handshake message."))
223 
224 ER3(SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO    , (SSL_ERROR_BASE + 42),
225 dgettext(TEXT_DOMAIN,
226 "SSL received an unexpected Client Hello handshake message."))
227 
228 ER3(SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO    , (SSL_ERROR_BASE + 43),
229 dgettext(TEXT_DOMAIN,
230 "SSL received an unexpected Server Hello handshake message."))
231 
232 ER3(SSL_ERROR_RX_UNEXPECTED_CERTIFICATE     , (SSL_ERROR_BASE + 44),
233 dgettext(TEXT_DOMAIN,
234 "SSL received an unexpected Certificate handshake message."))
235 
236 ER3(SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH , (SSL_ERROR_BASE + 45),
237 dgettext(TEXT_DOMAIN,
238 "SSL received an unexpected Server Key Exchange handshake message."))
239 
240 ER3(SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST    , (SSL_ERROR_BASE + 46),
241 dgettext(TEXT_DOMAIN,
242 "SSL received an unexpected Certificate Request handshake message."))
243 
244 ER3(SSL_ERROR_RX_UNEXPECTED_HELLO_DONE      , (SSL_ERROR_BASE + 47),
245 dgettext(TEXT_DOMAIN,
246 "SSL received an unexpected Server Hello Done handshake message."))
247 
248 ER3(SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY     , (SSL_ERROR_BASE + 48),
249 dgettext(TEXT_DOMAIN,
250 "SSL received an unexpected Certificate Verify handshake message."))
251 
252 ER3(SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH , (SSL_ERROR_BASE + 49),
253 dgettext(TEXT_DOMAIN,
254 "SSL received an unexpected Cllient Key Exchange handshake message."))
255 
256 ER3(SSL_ERROR_RX_UNEXPECTED_FINISHED        , (SSL_ERROR_BASE + 50),
257 dgettext(TEXT_DOMAIN,
258 "SSL received an unexpected Finished handshake message."))
259 
260 /*
261  * Received an SSL record that was inappropriate for the state we're in.
262  */
263 ER3(SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER   , (SSL_ERROR_BASE + 51),
264 dgettext(TEXT_DOMAIN,
265 "SSL received an unexpected Change Cipher Spec record."))
266 
267 ER3(SSL_ERROR_RX_UNEXPECTED_ALERT           , (SSL_ERROR_BASE + 52),
268 dgettext(TEXT_DOMAIN,
269 "SSL received an unexpected Alert record."))
270 
271 ER3(SSL_ERROR_RX_UNEXPECTED_HANDSHAKE       , (SSL_ERROR_BASE + 53),
272 dgettext(TEXT_DOMAIN,
273 "SSL received an unexpected Handshake record."))
274 
275 ER3(SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA, (SSL_ERROR_BASE + 54),
276 dgettext(TEXT_DOMAIN,
277 "SSL received an unexpected Application Data record."))
278 
279 /*
280  * Received record/message with unknown discriminant.
281  */
282 ER3(SSL_ERROR_RX_UNKNOWN_RECORD_TYPE        , (SSL_ERROR_BASE + 55),
283 dgettext(TEXT_DOMAIN,
284 "SSL received a record with an unknown content type."))
285 
286 ER3(SSL_ERROR_RX_UNKNOWN_HANDSHAKE          , (SSL_ERROR_BASE + 56),
287 dgettext(TEXT_DOMAIN,
288 "SSL received a handshake message with an unknown message type."))
289 
290 ER3(SSL_ERROR_RX_UNKNOWN_ALERT              , (SSL_ERROR_BASE + 57),
291 dgettext(TEXT_DOMAIN,
292 "SSL received an alert record with an unknown alert description."))
293 
294 /*
295  * Received an alert reporting what we did wrong.  (more alerts above)
296  */
297 ER3(SSL_ERROR_CLOSE_NOTIFY_ALERT            , (SSL_ERROR_BASE + 58),
298 dgettext(TEXT_DOMAIN,
299 "SSL peer has closed this connection."))
300 
301 ER3(SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT    , (SSL_ERROR_BASE + 59),
302 dgettext(TEXT_DOMAIN,
303 "SSL peer was not expecting a handshake message it received."))
304 
305 ER3(SSL_ERROR_DECOMPRESSION_FAILURE_ALERT   , (SSL_ERROR_BASE + 60),
306 dgettext(TEXT_DOMAIN,
307 "SSL peer was unable to succesfully decompress an SSL record it received."))
308 
309 ER3(SSL_ERROR_HANDSHAKE_FAILURE_ALERT       , (SSL_ERROR_BASE + 61),
310 dgettext(TEXT_DOMAIN,
311 "SSL peer was unable to negotiate an acceptable set of security parameters."))
312 
313 ER3(SSL_ERROR_ILLEGAL_PARAMETER_ALERT       , (SSL_ERROR_BASE + 62),
314 dgettext(TEXT_DOMAIN,
315 "SSL peer rejected a handshake message for unacceptable content."))
316 
317 ER3(SSL_ERROR_UNSUPPORTED_CERT_ALERT        , (SSL_ERROR_BASE + 63),
318 dgettext(TEXT_DOMAIN,
319 "SSL peer does not support certificates of the type it received."))
320 
321 ER3(SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT     , (SSL_ERROR_BASE + 64),
322 dgettext(TEXT_DOMAIN,
323 "SSL peer had some unspecified issue with the certificate it received."))
324 
325 ER3(SSL_ERROR_GENERATE_RANDOM_FAILURE       , (SSL_ERROR_BASE + 65),
326 dgettext(TEXT_DOMAIN,
327 "SSL experienced a failure of its random number generator."))
328 
329 ER3(SSL_ERROR_SIGN_HASHES_FAILURE           , (SSL_ERROR_BASE + 66),
330 dgettext(TEXT_DOMAIN,
331 "Unable to digitally sign data required to verify your certificate."))
332 
333 ER3(SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE    , (SSL_ERROR_BASE + 67),
334 dgettext(TEXT_DOMAIN,
335 "SSL was unable to extract the public key from the peer's certificate."))
336 
337 ER3(SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE   , (SSL_ERROR_BASE + 68),
338 dgettext(TEXT_DOMAIN,
339 "Unspecified failure while processing SSL Server Key Exchange handshake."))
340 
341 ER3(SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE   , (SSL_ERROR_BASE + 69),
342 dgettext(TEXT_DOMAIN,
343 "Unspecified failure while processing SSL Client Key Exchange handshake."))
344 
345 ER3(SSL_ERROR_ENCRYPTION_FAILURE            , (SSL_ERROR_BASE + 70),
346 dgettext(TEXT_DOMAIN,
347 "Bulk data encryption algorithm failed in selected cipher suite."))
348 
349 ER3(SSL_ERROR_DECRYPTION_FAILURE            , (SSL_ERROR_BASE + 71),
350 dgettext(TEXT_DOMAIN,
351 "Bulk data decryption algorithm failed in selected cipher suite."))
352 
353 ER3(SSL_ERROR_SOCKET_WRITE_FAILURE          , (SSL_ERROR_BASE + 72),
354 dgettext(TEXT_DOMAIN,
355 "Attempt to write encrypted data to underlying socket failed."))
356 
357 ER3(SSL_ERROR_MD5_DIGEST_FAILURE            , (SSL_ERROR_BASE + 73),
358 dgettext(TEXT_DOMAIN,
359 "MD5 digest function failed."))
360 
361 ER3(SSL_ERROR_SHA_DIGEST_FAILURE            , (SSL_ERROR_BASE + 74),
362 dgettext(TEXT_DOMAIN,
363 "SHA-1 digest function failed."))
364 
365 ER3(SSL_ERROR_MAC_COMPUTATION_FAILURE       , (SSL_ERROR_BASE + 75),
366 dgettext(TEXT_DOMAIN,
367 "MAC computation failed."))
368 
369 ER3(SSL_ERROR_SYM_KEY_CONTEXT_FAILURE       , (SSL_ERROR_BASE + 76),
370 dgettext(TEXT_DOMAIN,
371 "Failure to create Symmetric Key context."))
372 
373 ER3(SSL_ERROR_SYM_KEY_UNWRAP_FAILURE        , (SSL_ERROR_BASE + 77),
374 dgettext(TEXT_DOMAIN,
375 "Failure to unwrap the Symmetric key in Client Key Exchange message."))
376 
377 ER3(SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED   , (SSL_ERROR_BASE + 78),
378 dgettext(TEXT_DOMAIN,
379 "SSL Server attempted to use domestic-grade public key with export cipher suite."))
380 
381 ER3(SSL_ERROR_IV_PARAM_FAILURE              , (SSL_ERROR_BASE + 79),
382 dgettext(TEXT_DOMAIN,
383 "PKCS11 code failed to translate an IV into a param."))
384 
385 ER3(SSL_ERROR_INIT_CIPHER_SUITE_FAILURE     , (SSL_ERROR_BASE + 80),
386 dgettext(TEXT_DOMAIN,
387 "Failed to initialize the selected cipher suite."))
388 
389 ER3(SSL_ERROR_SESSION_KEY_GEN_FAILURE       , (SSL_ERROR_BASE + 81),
390 dgettext(TEXT_DOMAIN,
391 "Client failed to generate session keys for SSL session."))
392 
393 ER3(SSL_ERROR_NO_SERVER_KEY_FOR_ALG         , (SSL_ERROR_BASE + 82),
394 dgettext(TEXT_DOMAIN,
395 "Server has no key for the attempted key exchange algorithm."))
396 
397 ER3(SSL_ERROR_TOKEN_INSERTION_REMOVAL       , (SSL_ERROR_BASE + 83),
398 dgettext(TEXT_DOMAIN,
399 "PKCS#11 token was inserted or removed while operation was in progress."))
400 
401 ER3(SSL_ERROR_TOKEN_SLOT_NOT_FOUND          , (SSL_ERROR_BASE + 84),
402 dgettext(TEXT_DOMAIN,
403 "No PKCS#11 token could be found to do a required operation."))
404 
405 ER3(SSL_ERROR_NO_COMPRESSION_OVERLAP        , (SSL_ERROR_BASE + 85),
406 dgettext(TEXT_DOMAIN,
407 "Cannot communicate securely with peer: no common compression algorithm(s)."))
408 
409 ER3(SSL_ERROR_HANDSHAKE_NOT_COMPLETED       , (SSL_ERROR_BASE + 86),
410 dgettext(TEXT_DOMAIN,
411 "Cannot initiate another SSL handshake until current handshake is complete."))
412 
413 ER3(SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE      , (SSL_ERROR_BASE + 87),
414 dgettext(TEXT_DOMAIN,
415 "Received incorrect handshakes hash values from peer."))
416 
417 ER3(SSL_ERROR_CERT_KEA_MISMATCH             , (SSL_ERROR_BASE + 88),
418 dgettext(TEXT_DOMAIN,
419 "The certificate provided cannot be used with the selected key exchange algorithm."))
420