1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2008 by Sun Microsystems, Inc.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * $RCSfile: securityenvironment_nssimpl.cxx,v $
10  * $Revision: 1.23 $
11  *
12  * This file is part of OpenOffice.org.
13  *
14  * OpenOffice.org is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU Lesser General Public License version 3
16  * only, as published by the Free Software Foundation.
17  *
18  * OpenOffice.org is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU Lesser General Public License version 3 for more details
22  * (a copy is included in the LICENSE file that accompanied this code).
23  *
24  * You should have received a copy of the GNU Lesser General Public License
25  * version 3 along with OpenOffice.org.  If not, see
26  * <http://www.openoffice.org/license.html>
27  * for a copy of the LGPLv3 License.
28  *
29  ************************************************************************/
30 
31 
32 {SEC_ERROR_IO, "An I/O error occurred during security authorization."},
33 
34 {SEC_ERROR_LIBRARY_FAILURE, "security library failure."},
35 
36 {SEC_ERROR_BAD_DATA, "security library: received bad data."},
37 
38 {SEC_ERROR_OUTPUT_LEN, "security library: output length error."},
39 
40 {SEC_ERROR_INPUT_LEN, "security library has experienced an input length error."},
41 
42 {SEC_ERROR_INVALID_ARGS, "security library: invalid arguments."},
43 
44 {SEC_ERROR_INVALID_ALGORITHM, "security library: invalid algorithm."},
45 
46 {SEC_ERROR_INVALID_AVA, "security library: invalid AVA."},
47 
48 {SEC_ERROR_INVALID_TIME, "Improperly formatted time string."},
49 
50 {SEC_ERROR_BAD_DER, "security library: improperly formatted DER-encoded message."},
51 
52 {SEC_ERROR_BAD_SIGNATURE, "Peer's certificate has an invalid signature."},
53 
54 {SEC_ERROR_EXPIRED_CERTIFICATE, "Peer's Certificate has expired."},
55 
56 {SEC_ERROR_REVOKED_CERTIFICATE, "Peer's Certificate has been revoked."},
57 
58 {SEC_ERROR_UNKNOWN_ISSUER, "Peer's Certificate issuer is not recognized."},
59 
60 {SEC_ERROR_BAD_KEY, "Peer's public key is invalid."},
61 
62 {SEC_ERROR_BAD_PASSWORD, "The security password entered is incorrect."},
63 
64 {SEC_ERROR_RETRY_PASSWORD, "New password entered incorrectly.  Please try again."},
65 
66 {SEC_ERROR_NO_NODELOCK, "security library: no nodelock."},
67 
68 {SEC_ERROR_BAD_DATABASE, "security library: bad database."},
69 
70 {SEC_ERROR_NO_MEMORY, "security library: memory allocation failure."},
71 
72 {SEC_ERROR_UNTRUSTED_ISSUER, "Peer's certificate issuer has been marked as not trusted by the user."},
73 
74 {SEC_ERROR_UNTRUSTED_CERT, "Peer's certificate has been marked as not trusted by the user."},
75 
76 {SEC_ERROR_DUPLICATE_CERT, "Certificate already exists in your database."},
77 
78 {SEC_ERROR_DUPLICATE_CERT_NAME, "Downloaded certificate's name duplicates one already in your database."},
79 
80 {SEC_ERROR_ADDING_CERT, "Error adding certificate to database."},
81 
82 {SEC_ERROR_FILING_KEY, "Error refiling the key for this certificate."},
83 
84 {SEC_ERROR_NO_KEY, "The private key for this certificate cannot be found in key database"},
85 
86 {SEC_ERROR_CERT_VALID, "This certificate is valid."},
87 
88 {SEC_ERROR_CERT_NOT_VALID, "This certificate is not valid."},
89 
90 {SEC_ERROR_CERT_NO_RESPONSE, "Cert Library: No Response"},
91 
92 {SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE, "The certificate issuer's certificate has expired.  Check your system date and time."},
93 
94 {SEC_ERROR_CRL_EXPIRED, "The CRL for the certificate's issuer has expired.  Update it or check your system date and time."},
95 
96 {SEC_ERROR_CRL_BAD_SIGNATURE, "The CRL for the certificate's issuer has an invalid signature."},
97 
98 {SEC_ERROR_CRL_INVALID, "New CRL has an invalid format."},
99 
100 {SEC_ERROR_EXTENSION_VALUE_INVALID, "Certificate extension value is invalid."},
101 
102 {SEC_ERROR_EXTENSION_NOT_FOUND, "Certificate extension not found."},
103 
104 {SEC_ERROR_CA_CERT_INVALID, "Issuer certificate is invalid."},
105 
106 {SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID,	"Certificate path length constraint is invalid."},
107 
108 {SEC_ERROR_CERT_USAGES_INVALID, "Certificate usages field is invalid."},
109 
110 {SEC_INTERNAL_ONLY, "**Internal ONLY module**"},
111 
112 {SEC_ERROR_INVALID_KEY, "The key does not support the requested operation."},
113 
114 {SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION, "Certificate contains unknown critical extension."},
115 
116 {SEC_ERROR_OLD_CRL, "New CRL is not later than the current one."},
117 
118 {SEC_ERROR_NO_EMAIL_CERT, "Not encrypted or signed: you do not yet have an email certificate."},
119 
120 {SEC_ERROR_NO_RECIPIENT_CERTS_QUERY, "Not encrypted: you do not have certificates for each of the recipients."},
121 
122 {SEC_ERROR_NOT_A_RECIPIENT, "Cannot decrypt: you are not a recipient, or matching certificate and \
123 private key not found."},
124 
125 {SEC_ERROR_PKCS7_KEYALG_MISMATCH, "Cannot decrypt: key encryption algorithm does not match your certificate."},
126 
127 {SEC_ERROR_PKCS7_BAD_SIGNATURE, "Signature verification failed: no signer found, too many signers found, \
128 or improper or corrupted data."},
129 
130 {SEC_ERROR_UNSUPPORTED_KEYALG, "Unsupported or unknown key algorithm."},
131 
132 {SEC_ERROR_DECRYPTION_DISALLOWED, "Cannot decrypt: encrypted using a disallowed algorithm or key size."},
133 
134 
135 /* Fortezza Alerts */
136 {XP_SEC_FORTEZZA_BAD_CARD, "Fortezza card has not been properly initialized.  \
137 Please remove it and return it to your issuer."},
138 
139 {XP_SEC_FORTEZZA_NO_CARD, "No Fortezza cards Found"},
140 
141 {XP_SEC_FORTEZZA_NONE_SELECTED,	"No Fortezza card selected"},
142 
143 {XP_SEC_FORTEZZA_MORE_INFO, "Please select a personality to get more info on"},
144 
145 {XP_SEC_FORTEZZA_PERSON_NOT_FOUND, "Personality not found"},
146 
147 {XP_SEC_FORTEZZA_NO_MORE_INFO, "No more information on that Personality"},
148 
149 {XP_SEC_FORTEZZA_BAD_PIN, "Invalid Pin"},
150 
151 {XP_SEC_FORTEZZA_PERSON_ERROR, "Couldn't initialize Fortezza personalities."},
152 /* end fortezza alerts. */
153 
154 {SEC_ERROR_NO_KRL, "No KRL for this site's certificate has been found."},
155 
156 {SEC_ERROR_KRL_EXPIRED, "The KRL for this site's certificate has expired."},
157 
158 {SEC_ERROR_KRL_BAD_SIGNATURE, "The KRL for this site's certificate has an invalid signature."},
159 
160 {SEC_ERROR_REVOKED_KEY, "The key for this site's certificate has been revoked."},
161 
162 {SEC_ERROR_KRL_INVALID, "New KRL has an invalid format."},
163 
164 {SEC_ERROR_NEED_RANDOM, "security library: need random data."},
165 
166 {SEC_ERROR_NO_MODULE, "security library: no security module can perform the requested operation."},
167 
168 {SEC_ERROR_NO_TOKEN, "The security card or token does not exist, needs to be initialized, or has been removed."},
169 
170 {SEC_ERROR_READ_ONLY, "security library: read-only database."},
171 
172 {SEC_ERROR_NO_SLOT_SELECTED, "No slot or token was selected."},
173 
174 {SEC_ERROR_CERT_NICKNAME_COLLISION, "A certificate with the same nickname already exists."},
175 
176 {SEC_ERROR_KEY_NICKNAME_COLLISION, "A key with the same nickname already exists."},
177 
178 {SEC_ERROR_SAFE_NOT_CREATED, "error while creating safe object"},
179 
180 {SEC_ERROR_BAGGAGE_NOT_CREATED, "error while creating baggage object"},
181 
182 {XP_JAVA_REMOVE_PRINCIPAL_ERROR, "Couldn't remove the principal"},
183 
184 {XP_JAVA_DELETE_PRIVILEGE_ERROR, "Couldn't delete the privilege"},
185 
186 {XP_JAVA_CERT_NOT_EXISTS_ERROR, "This principal doesn't have a certificate"},
187 
188 {SEC_ERROR_BAD_EXPORT_ALGORITHM, "Required algorithm is not allowed."},
189 
190 {SEC_ERROR_EXPORTING_CERTIFICATES, "Error attempting to export certificates."},
191 
192 {SEC_ERROR_IMPORTING_CERTIFICATES, "Error attempting to import certificates."},
193 
194 {SEC_ERROR_PKCS12_DECODING_PFX, "Unable to import.  Decoding error.  File not valid."},
195 
196 {SEC_ERROR_PKCS12_INVALID_MAC, "Unable to import.  Invalid MAC.  Incorrect password or corrupt file."},
197 
198 {SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM, "Unable to import.  MAC algorithm not supported."},
199 
200 {SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE, "Unable to import.  Only password integrity and privacy modes supported."},
201 
202 {SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE, "Unable to import.  File structure is corrupt."},
203 
204 {SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM, "Unable to import.  Encryption algorithm not supported."},
205 
206 {SEC_ERROR_PKCS12_UNSUPPORTED_VERSION, "Unable to import.  File version not supported."},
207 
208 {SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT, "Unable to import.  Incorrect privacy password."},
209 
210 {SEC_ERROR_PKCS12_CERT_COLLISION, "Unable to import.  Same nickname already exists in database."},
211 
212 {SEC_ERROR_USER_CANCELLED, "The user pressed cancel."},
213 
214 {SEC_ERROR_PKCS12_DUPLICATE_DATA, "Not imported, already in database."},
215 
216 {SEC_ERROR_MESSAGE_SEND_ABORTED, "Message not sent."},
217 
218 {SEC_ERROR_INADEQUATE_KEY_USAGE, "Certificate key usage inadequate for attempted operation."},
219 
220 {SEC_ERROR_INADEQUATE_CERT_TYPE, "Certificate type not approved for application."},
221 
222 {SEC_ERROR_CERT_ADDR_MISMATCH, "Address in signing certificate does not match address in message headers."},
223 
224 {SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY,	"Unable to import.  Error attempting to import private key."},
225 
226 {SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN,	"Unable to import.  Error attempting to import certificate chain."},
227 
228 {SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME, "Unable to export.  Unable to locate certificate or key by nickname."},
229 
230 {SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY,	"Unable to export.  Private Key could not be located and exported."},
231 
232 {SEC_ERROR_PKCS12_UNABLE_TO_WRITE, "Unable to export.  Unable to write the export file."},
233 
234 {SEC_ERROR_PKCS12_UNABLE_TO_READ, "Unable to import.  Unable to read the import file."},
235 
236 {SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED, "Unable to export.  Key database corrupt or deleted."},
237 
238 {SEC_ERROR_KEYGEN_FAIL, "Unable to generate public/private key pair."},
239 
240 {SEC_ERROR_INVALID_PASSWORD, "Password entered is invalid.  Please pick a different one."},
241 
242 {SEC_ERROR_RETRY_OLD_PASSWORD, "Old password entered incorrectly.  Please try again."},
243 
244 {SEC_ERROR_BAD_NICKNAME, "Certificate nickname already in use."},
245 
246 {SEC_ERROR_NOT_FORTEZZA_ISSUER, "Peer FORTEZZA chain has a non-FORTEZZA Certificate."},
247 
248 {SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY, "A sensitive key cannot be moved to the slot where it is needed."},
249 
250 {SEC_ERROR_JS_INVALID_MODULE_NAME, "Invalid module name."},
251 
252 {SEC_ERROR_JS_INVALID_DLL, "Invalid module path/filename"},
253 
254 {SEC_ERROR_JS_ADD_MOD_FAILURE, "Unable to add module"},
255 
256 {SEC_ERROR_JS_DEL_MOD_FAILURE, "Unable to delete module"},
257 
258 {SEC_ERROR_OLD_KRL, "New KRL is not later than the current one."},
259 
260 {SEC_ERROR_CKL_CONFLICT, "New CKL has different issuer than current CKL.  Delete current CKL."},
261 
262 {SEC_ERROR_CERT_NOT_IN_NAME_SPACE, "The Certifying Authority for this certificate is not permitted to issue a \
263 certificate with this name."},
264 
265 {SEC_ERROR_KRL_NOT_YET_VALID, "The key revocation list for this certificate is not yet valid."},
266 
267 {SEC_ERROR_CRL_NOT_YET_VALID, "The certificate revocation list for this certificate is not yet valid."},
268 
269 {SEC_ERROR_UNKNOWN_CERT, "The requested certificate could not be found."},
270 
271 {SEC_ERROR_UNKNOWN_SIGNER, "The signer's certificate could not be found."},
272 
273 {SEC_ERROR_CERT_BAD_ACCESS_LOCATION, "The location for the certificate status server has invalid format."},
274 
275 {SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE, "The OCSP response cannot be fully decoded; it is of an unknown type."},
276 
277 {SEC_ERROR_OCSP_BAD_HTTP_RESPONSE, "The OCSP server returned unexpected/invalid HTTP data."},
278 
279 {SEC_ERROR_OCSP_MALFORMED_REQUEST, "The OCSP server found the request to be corrupted or improperly formed."},
280 
281 {SEC_ERROR_OCSP_SERVER_ERROR, "The OCSP server experienced an internal error."},
282 
283 {SEC_ERROR_OCSP_TRY_SERVER_LATER, "The OCSP server suggests trying again later."},
284 
285 {SEC_ERROR_OCSP_REQUEST_NEEDS_SIG, "The OCSP server requires a signature on this request."},
286 
287 {SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST, "The OCSP server has refused this request as unauthorized."},
288 
289 {SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS, "The OCSP server returned an unrecognizable status."},
290 
291 {SEC_ERROR_OCSP_UNKNOWN_CERT, "The OCSP server has no status for the certificate."},
292 
293 {SEC_ERROR_OCSP_NOT_ENABLED, "You must enable OCSP before performing this operation."},
294 
295 {SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER, "You must set the OCSP default responder before performing this operation."},
296 
297 {SEC_ERROR_OCSP_MALFORMED_RESPONSE, "The response from the OCSP server was corrupted or improperly formed."},
298 
299 {SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE, "The signer of the OCSP response is not authorized to give status for \
300 this certificate."},
301 
302 {SEC_ERROR_OCSP_FUTURE_RESPONSE, "The OCSP response is not yet valid (contains a date in the future},."},
303 
304 {SEC_ERROR_OCSP_OLD_RESPONSE, "The OCSP response contains out-of-date information."},
305 
306 {SEC_ERROR_DIGEST_NOT_FOUND, "The CMS or PKCS #7 Digest was not found in signed message."},
307 
308 {SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE, "The CMS or PKCS #7 Message type is unsupported."},
309 
310 {SEC_ERROR_MODULE_STUCK, "PKCS #11 module could not be removed because it is still in use."},
311 
312 {SEC_ERROR_BAD_TEMPLATE, "Could not decode ASN.1 data. Specified template was invalid."},
313 
314 {SEC_ERROR_CRL_NOT_FOUND, "No matching CRL was found."},
315 
316 {SEC_ERROR_REUSED_ISSUER_AND_SERIAL, "You are attempting to import a cert with the same issuer/serial as \
317 an existing cert, but that is not the same cert."},
318 
319 {SEC_ERROR_BUSY, "NSS could not shutdown. Objects are still in use."},
320 
321 {SEC_ERROR_EXTRA_INPUT, "DER-encoded message contained extra unused data."},
322 
323 {SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE, "Unsupported elliptic curve."},
324 
325 {SEC_ERROR_UNSUPPORTED_EC_POINT_FORM, "Unsupported elliptic curve point form."},
326 
327 {SEC_ERROR_UNRECOGNIZED_OID, "Unrecognized Object Identifier."},
328 
329 {SEC_ERROR_OCSP_INVALID_SIGNING_CERT, "Invalid OCSP signing certificate in OCSP response."},
330 
331 {SEC_ERROR_REVOKED_CERTIFICATE_CRL, "Certificate is revoked in issuer's certificate revocation list."},
332 
333 {SEC_ERROR_REVOKED_CERTIFICATE_OCSP, "Issuer's OCSP responder reports certificate is revoked."},
334 
335 {SEC_ERROR_CRL_INVALID_VERSION, "Issuer's Certificate Revocation List has an unknown version number."},
336 
337 {SEC_ERROR_CRL_V1_CRITICAL_EXTENSION, "Issuer's V1 Certificate Revocation List has a critical extension."},
338 
339 {SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION, "Issuer's V2 Certificate Revocation List has an unknown critical extension."},
340 
341 {SEC_ERROR_UNKNOWN_OBJECT_TYPE,	"Unknown object type specified."},
342 
343 {SEC_ERROR_INCOMPATIBLE_PKCS11,	"PKCS #11 driver violates the spec in an incompatible way."},
344 
345 {SEC_ERROR_NO_EVENT, "No new slot event is available at this time."},
346 
347 {SEC_ERROR_CRL_ALREADY_EXISTS, "CRL already exists."},
348 
349 {SEC_ERROR_NOT_INITIALIZED, "NSS is not initialized."},
350 
351 {SEC_ERROR_TOKEN_NOT_LOGGED_IN, "The operation failed because the PKCS#11 token is not logged in."},
352 
353 {SEC_ERROR_OCSP_RESPONDER_CERT_INVALID, "Configured OCSP responder's certificate is invalid."},
354 
355 {SEC_ERROR_OCSP_BAD_SIGNATURE, "OCSP response has an invalid signature."},
356 
357 {SEC_ERROR_OUT_OF_SEARCH_LIMITS, "Cert validation search is out of search limits"},
358 
359 {SEC_ERROR_INVALID_POLICY_MAPPING, "Policy mapping contains anypolicy"},
360 
361 {SEC_ERROR_POLICY_VALIDATION_FAILED, "Cert chain fails policy validation"},
362 
363 {SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE, "Unknown location type in cert AIA extension"},
364 
365 {SEC_ERROR_BAD_HTTP_RESPONSE, "Server returned bad HTTP response"},
366 
367 {SEC_ERROR_BAD_LDAP_RESPONSE, "Server returned bad LDAP response"},
368 
369 {SEC_ERROR_FAILED_TO_ENCODE_DATA, "Failed to encode data with ASN1 encoder"},
370 
371 {SEC_ERROR_BAD_INFO_ACCESS_LOCATION, "Bad information access location in cert extension"},
372 
373 {SEC_ERROR_LIBPKIX_INTERNAL, "Libpkix internal error occured during cert validation."},
374 
375 {SEC_ERROR_PKCS11_GENERAL_ERROR, "A PKCS #11 module returned CKR_GENERAL_ERROR, indicating that an unrecoverable error has occurred."},
376 
377 {SEC_ERROR_PKCS11_FUNCTION_FAILED, "A PKCS #11 module returned CKR_FUNCTION_FAILED, indicating that the requested function could not be performed.  Trying the same operation again might succeed."},
378 
379 {SEC_ERROR_PKCS11_DEVICE_ERROR, "A PKCS #11 module returned CKR_DEVICE_ERROR, indicating that a problem has occurred with the token or slot."},
380 
381 {SEC_ERROR_BAD_INFO_ACCESS_METHOD, "Unknown information access method in certificate extension."},
382 
383 {SEC_ERROR_CRL_IMPORT_FAILED, "Error attempting to import a CRL."},
384 
385