secerr.h 11 KB

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