SSLerrs.h
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:15k
源码类别:

CA认证

开发平台:

WINDOWS

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is the Netscape security libraries.
  13.  * 
  14.  * The Initial Developer of the Original Code is Netscape
  15.  * Communications Corporation.  Portions created by Netscape are 
  16.  * Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  17.  * Rights Reserved.
  18.  * 
  19.  * Contributor(s):
  20.  * 
  21.  * Alternatively, the contents of this file may be used under the
  22.  * terms of the GNU General Public License Version 2 or later (the
  23.  * "GPL"), in which case the provisions of the GPL are applicable 
  24.  * instead of those above.  If you wish to allow use of your 
  25.  * version of this file only under the terms of the GPL and not to
  26.  * allow others to use your version of this file under the MPL,
  27.  * indicate your decision by deleting the provisions above and
  28.  * replace them with the notice and other provisions required by
  29.  * the GPL.  If you do not delete the provisions above, a recipient
  30.  * may use your version of this file under either the MPL or the
  31.  * GPL.
  32.  */
  33. /* SSL-specific security error codes  */
  34. /* caller must include "sslerr.h" */
  35. ER3(SSL_ERROR_EXPORT_ONLY_SERVER, SSL_ERROR_BASE + 0,
  36. "Unable to communicate securely.  Peer does not support high-grade encryption.")
  37. ER3(SSL_ERROR_US_ONLY_SERVER, SSL_ERROR_BASE + 1,
  38. "Unable to communicate securely.  Peer requires high-grade encryption which is not supported.")
  39. ER3(SSL_ERROR_NO_CYPHER_OVERLAP, SSL_ERROR_BASE + 2,
  40. "Cannot communicate securely with peer: no common encryption algorithm(s).")
  41. ER3(SSL_ERROR_NO_CERTIFICATE, SSL_ERROR_BASE + 3,
  42. "Unable to find the certificate or key necessary for authentication.")
  43. ER3(SSL_ERROR_BAD_CERTIFICATE, SSL_ERROR_BASE + 4,
  44. "Unable to communicate securely with peer: peers's certificate was rejected.")
  45. /* unused (SSL_ERROR_BASE + 5),*/
  46. ER3(SSL_ERROR_BAD_CLIENT, SSL_ERROR_BASE + 6,
  47. "The server has encountered bad data from the client.")
  48. ER3(SSL_ERROR_BAD_SERVER, SSL_ERROR_BASE + 7,
  49. "The client has encountered bad data from the server.")
  50. ER3(SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE, SSL_ERROR_BASE + 8,
  51. "Unsupported certificate type.")
  52. ER3(SSL_ERROR_UNSUPPORTED_VERSION, SSL_ERROR_BASE + 9,
  53. "Peer using unsupported version of security protocol.")
  54. /* unused (SSL_ERROR_BASE + 10),*/
  55. ER3(SSL_ERROR_WRONG_CERTIFICATE, SSL_ERROR_BASE + 11,
  56. "Client authentication failed: private key in key database does not match public key in certificate database.")
  57. ER3(SSL_ERROR_BAD_CERT_DOMAIN, SSL_ERROR_BASE + 12,
  58. "Unable to communicate securely with peer: requested domain name does not match the server's certificate.")
  59. /* SSL_ERROR_POST_WARNING (SSL_ERROR_BASE + 13),
  60.    defined in sslerr.h
  61. */
  62. ER3(SSL_ERROR_SSL2_DISABLED, (SSL_ERROR_BASE + 14),
  63. "Peer only supports SSL version 2, which is locally disabled.")
  64. ER3(SSL_ERROR_BAD_MAC_READ, (SSL_ERROR_BASE + 15),
  65. "SSL received a record with an incorrect Message Authentication Code.")
  66. ER3(SSL_ERROR_BAD_MAC_ALERT, (SSL_ERROR_BASE + 16),
  67. "SSL peer reports incorrect Message Authentication Code.")
  68. ER3(SSL_ERROR_BAD_CERT_ALERT, (SSL_ERROR_BASE + 17),
  69. "SSL peer cannot verify your certificate.")
  70. ER3(SSL_ERROR_REVOKED_CERT_ALERT, (SSL_ERROR_BASE + 18),
  71. "SSL peer rejected your certificate as revoked.")
  72. ER3(SSL_ERROR_EXPIRED_CERT_ALERT, (SSL_ERROR_BASE + 19),
  73. "SSL peer rejected your certificate as expired.")
  74. ER3(SSL_ERROR_SSL_DISABLED, (SSL_ERROR_BASE + 20),
  75. "Cannot connect: SSL is disabled.")
  76. ER3(SSL_ERROR_FORTEZZA_PQG, (SSL_ERROR_BASE + 21),
  77. "Cannot connect: SSL peer is in another FORTEZZA domain.")
  78. ER3(SSL_ERROR_UNKNOWN_CIPHER_SUITE          , (SSL_ERROR_BASE + 22),
  79. "An unknown SSL cipher suite has been requested.")
  80. ER3(SSL_ERROR_NO_CIPHERS_SUPPORTED          , (SSL_ERROR_BASE + 23),
  81. "No cipher suites are present and enabled in this program.")
  82. ER3(SSL_ERROR_BAD_BLOCK_PADDING             , (SSL_ERROR_BASE + 24),
  83. "SSL received a record with bad block padding.")
  84. ER3(SSL_ERROR_RX_RECORD_TOO_LONG            , (SSL_ERROR_BASE + 25),
  85. "SSL received a record that exceeded the maximum permissible length.")
  86. ER3(SSL_ERROR_TX_RECORD_TOO_LONG            , (SSL_ERROR_BASE + 26),
  87. "SSL attempted to send a record that exceeded the maximum permissible length.")
  88. /*
  89.  * Received a malformed (too long or short or invalid content) SSL handshake.
  90.  */
  91. ER3(SSL_ERROR_RX_MALFORMED_HELLO_REQUEST    , (SSL_ERROR_BASE + 27),
  92. "SSL received a malformed Hello Request handshake message.")
  93. ER3(SSL_ERROR_RX_MALFORMED_CLIENT_HELLO     , (SSL_ERROR_BASE + 28),
  94. "SSL received a malformed Client Hello handshake message.")
  95. ER3(SSL_ERROR_RX_MALFORMED_SERVER_HELLO     , (SSL_ERROR_BASE + 29),
  96. "SSL received a malformed Server Hello handshake message.")
  97. ER3(SSL_ERROR_RX_MALFORMED_CERTIFICATE      , (SSL_ERROR_BASE + 30),
  98. "SSL received a malformed Certificate handshake message.")
  99. ER3(SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH  , (SSL_ERROR_BASE + 31),
  100. "SSL received a malformed Server Key Exchange handshake message.")
  101. ER3(SSL_ERROR_RX_MALFORMED_CERT_REQUEST     , (SSL_ERROR_BASE + 32),
  102. "SSL received a malformed Certificate Request handshake message.")
  103. ER3(SSL_ERROR_RX_MALFORMED_HELLO_DONE       , (SSL_ERROR_BASE + 33),
  104. "SSL received a malformed Server Hello Done handshake message.")
  105. ER3(SSL_ERROR_RX_MALFORMED_CERT_VERIFY      , (SSL_ERROR_BASE + 34),
  106. "SSL received a malformed Certificate Verify handshake message.")
  107. ER3(SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH  , (SSL_ERROR_BASE + 35),
  108. "SSL received a malformed Client Key Exchange handshake message.")
  109. ER3(SSL_ERROR_RX_MALFORMED_FINISHED         , (SSL_ERROR_BASE + 36),
  110. "SSL received a malformed Finished handshake message.")
  111. /*
  112.  * Received a malformed (too long or short) SSL record.
  113.  */
  114. ER3(SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER    , (SSL_ERROR_BASE + 37),
  115. "SSL received a malformed Change Cipher Spec record.")
  116. ER3(SSL_ERROR_RX_MALFORMED_ALERT            , (SSL_ERROR_BASE + 38),
  117. "SSL received a malformed Alert record.")
  118. ER3(SSL_ERROR_RX_MALFORMED_HANDSHAKE        , (SSL_ERROR_BASE + 39),
  119. "SSL received a malformed Handshake record.")
  120. ER3(SSL_ERROR_RX_MALFORMED_APPLICATION_DATA , (SSL_ERROR_BASE + 40),
  121. "SSL received a malformed Application Data record.")
  122. /*
  123.  * Received an SSL handshake that was inappropriate for the state we're in.
  124.  * E.g. Server received message from server, or wrong state in state machine.
  125.  */
  126. ER3(SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST   , (SSL_ERROR_BASE + 41),
  127. "SSL received an unexpected Hello Request handshake message.")
  128. ER3(SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO    , (SSL_ERROR_BASE + 42),
  129. "SSL received an unexpected Client Hello handshake message.")
  130. ER3(SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO    , (SSL_ERROR_BASE + 43),
  131. "SSL received an unexpected Server Hello handshake message.")
  132. ER3(SSL_ERROR_RX_UNEXPECTED_CERTIFICATE     , (SSL_ERROR_BASE + 44),
  133. "SSL received an unexpected Certificate handshake message.")
  134. ER3(SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH , (SSL_ERROR_BASE + 45),
  135. "SSL received an unexpected Server Key Exchange handshake message.")
  136. ER3(SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST    , (SSL_ERROR_BASE + 46),
  137. "SSL received an unexpected Certificate Request handshake message.")
  138. ER3(SSL_ERROR_RX_UNEXPECTED_HELLO_DONE      , (SSL_ERROR_BASE + 47),
  139. "SSL received an unexpected Server Hello Done handshake message.")
  140. ER3(SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY     , (SSL_ERROR_BASE + 48),
  141. "SSL received an unexpected Certificate Verify handshake message.")
  142. ER3(SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH , (SSL_ERROR_BASE + 49),
  143. "SSL received an unexpected Cllient Key Exchange handshake message.")
  144. ER3(SSL_ERROR_RX_UNEXPECTED_FINISHED        , (SSL_ERROR_BASE + 50),
  145. "SSL received an unexpected Finished handshake message.")
  146. /*
  147.  * Received an SSL record that was inappropriate for the state we're in.
  148.  */
  149. ER3(SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER   , (SSL_ERROR_BASE + 51),
  150. "SSL received an unexpected Change Cipher Spec record.")
  151. ER3(SSL_ERROR_RX_UNEXPECTED_ALERT           , (SSL_ERROR_BASE + 52),
  152. "SSL received an unexpected Alert record.")
  153. ER3(SSL_ERROR_RX_UNEXPECTED_HANDSHAKE       , (SSL_ERROR_BASE + 53),
  154. "SSL received an unexpected Handshake record.")
  155. ER3(SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA, (SSL_ERROR_BASE + 54),
  156. "SSL received an unexpected Application Data record.")
  157. /*
  158.  * Received record/message with unknown discriminant.
  159.  */
  160. ER3(SSL_ERROR_RX_UNKNOWN_RECORD_TYPE        , (SSL_ERROR_BASE + 55),
  161. "SSL received a record with an unknown content type.")
  162. ER3(SSL_ERROR_RX_UNKNOWN_HANDSHAKE          , (SSL_ERROR_BASE + 56),
  163. "SSL received a handshake message with an unknown message type.")
  164. ER3(SSL_ERROR_RX_UNKNOWN_ALERT              , (SSL_ERROR_BASE + 57),
  165. "SSL received an alert record with an unknown alert description.")
  166. /*
  167.  * Received an alert reporting what we did wrong.  (more alerts above)
  168.  */
  169. ER3(SSL_ERROR_CLOSE_NOTIFY_ALERT            , (SSL_ERROR_BASE + 58),
  170. "SSL peer has closed this connection.")
  171. ER3(SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT    , (SSL_ERROR_BASE + 59),
  172. "SSL peer was not expecting a handshake message it received.")
  173. ER3(SSL_ERROR_DECOMPRESSION_FAILURE_ALERT   , (SSL_ERROR_BASE + 60),
  174. "SSL peer was unable to succesfully decompress an SSL record it received.")
  175. ER3(SSL_ERROR_HANDSHAKE_FAILURE_ALERT       , (SSL_ERROR_BASE + 61),
  176. "SSL peer was unable to negotiate an acceptable set of security parameters.")
  177. ER3(SSL_ERROR_ILLEGAL_PARAMETER_ALERT       , (SSL_ERROR_BASE + 62),
  178. "SSL peer rejected a handshake message for unacceptable content.")
  179. ER3(SSL_ERROR_UNSUPPORTED_CERT_ALERT        , (SSL_ERROR_BASE + 63),
  180. "SSL peer does not support certificates of the type it received.")
  181. ER3(SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT     , (SSL_ERROR_BASE + 64),
  182. "SSL peer had some unspecified issue with the certificate it received.")
  183. ER3(SSL_ERROR_GENERATE_RANDOM_FAILURE       , (SSL_ERROR_BASE + 65),
  184. "SSL experienced a failure of its random number generator.")
  185. ER3(SSL_ERROR_SIGN_HASHES_FAILURE           , (SSL_ERROR_BASE + 66),
  186. "Unable to digitally sign data required to verify your certificate.")
  187. ER3(SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE    , (SSL_ERROR_BASE + 67),
  188. "SSL was unable to extract the public key from the peer's certificate.")
  189. ER3(SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE   , (SSL_ERROR_BASE + 68),
  190. "Unspecified failure while processing SSL Server Key Exchange handshake.")
  191. ER3(SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE   , (SSL_ERROR_BASE + 69),
  192. "Unspecified failure while processing SSL Client Key Exchange handshake.")
  193. ER3(SSL_ERROR_ENCRYPTION_FAILURE            , (SSL_ERROR_BASE + 70),
  194. "Bulk data encryption algorithm failed in selected cipher suite.")
  195. ER3(SSL_ERROR_DECRYPTION_FAILURE            , (SSL_ERROR_BASE + 71),
  196. "Bulk data decryption algorithm failed in selected cipher suite.")
  197. ER3(SSL_ERROR_SOCKET_WRITE_FAILURE          , (SSL_ERROR_BASE + 72),
  198. "Attempt to write encrypted data to underlying socket failed.")
  199. ER3(SSL_ERROR_MD5_DIGEST_FAILURE            , (SSL_ERROR_BASE + 73),
  200. "MD5 digest function failed.")
  201. ER3(SSL_ERROR_SHA_DIGEST_FAILURE            , (SSL_ERROR_BASE + 74),
  202. "SHA-1 digest function failed.")
  203. ER3(SSL_ERROR_MAC_COMPUTATION_FAILURE       , (SSL_ERROR_BASE + 75),
  204. "MAC computation failed.")
  205. ER3(SSL_ERROR_SYM_KEY_CONTEXT_FAILURE       , (SSL_ERROR_BASE + 76),
  206. "Failure to create Symmetric Key context.")
  207. ER3(SSL_ERROR_SYM_KEY_UNWRAP_FAILURE        , (SSL_ERROR_BASE + 77),
  208. "Failure to unwrap the Symmetric key in Client Key Exchange message.")
  209. ER3(SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED   , (SSL_ERROR_BASE + 78),
  210. "SSL Server attempted to use domestic-grade public key with export cipher suite.")
  211. ER3(SSL_ERROR_IV_PARAM_FAILURE              , (SSL_ERROR_BASE + 79),
  212. "PKCS11 code failed to translate an IV into a param.")
  213. ER3(SSL_ERROR_INIT_CIPHER_SUITE_FAILURE     , (SSL_ERROR_BASE + 80),
  214. "Failed to initialize the selected cipher suite.")
  215. ER3(SSL_ERROR_SESSION_KEY_GEN_FAILURE       , (SSL_ERROR_BASE + 81),
  216. "Client failed to generate session keys for SSL session.")
  217. ER3(SSL_ERROR_NO_SERVER_KEY_FOR_ALG         , (SSL_ERROR_BASE + 82),
  218. "Server has no key for the attempted key exchange algorithm.")
  219. ER3(SSL_ERROR_TOKEN_INSERTION_REMOVAL       , (SSL_ERROR_BASE + 83),
  220. "PKCS#11 token was inserted or removed while operation was in progress.")
  221. ER3(SSL_ERROR_TOKEN_SLOT_NOT_FOUND          , (SSL_ERROR_BASE + 84),
  222. "No PKCS#11 token could be found to do a required operation.")
  223. ER3(SSL_ERROR_NO_COMPRESSION_OVERLAP        , (SSL_ERROR_BASE + 85),
  224. "Cannot communicate securely with peer: no common compression algorithm(s).")
  225. ER3(SSL_ERROR_HANDSHAKE_NOT_COMPLETED       , (SSL_ERROR_BASE + 86),
  226. "Cannot initiate another SSL handshake until current handshake is complete.")
  227. ER3(SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE      , (SSL_ERROR_BASE + 87),
  228. "Received incorrect handshakes hash values from peer.")
  229. ER3(SSL_ERROR_CERT_KEA_MISMATCH             , (SSL_ERROR_BASE + 88),
  230. "The certificate provided cannot be used with the selected key exchange algorithm.")
  231. ER3(SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA , (SSL_ERROR_BASE + 89),
  232. "No certificate authority is trusted for SSL client authentication.")
  233. ER3(SSL_ERROR_SESSION_NOT_FOUND , (SSL_ERROR_BASE + 90),
  234. "Client's SSL session ID not found in server's session cache.")
  235. ER3(SSL_ERROR_DECRYPTION_FAILED_ALERT     , (SSL_ERROR_BASE + 91),
  236. "Peer was unable to decrypt an SSL record it received.")
  237. ER3(SSL_ERROR_RECORD_OVERFLOW_ALERT       , (SSL_ERROR_BASE + 92),
  238. "Peer received an SSL record that was longer than is permitted.")
  239. ER3(SSL_ERROR_UNKNOWN_CA_ALERT            , (SSL_ERROR_BASE + 93),
  240. "Peer does not recognize and trust the CA that issued your certificate.")
  241. ER3(SSL_ERROR_ACCESS_DENIED_ALERT         , (SSL_ERROR_BASE + 94),
  242. "Peer received a valid certificate, but access was denied.")
  243. ER3(SSL_ERROR_DECODE_ERROR_ALERT          , (SSL_ERROR_BASE + 95),
  244. "Peer could not decode an SSL handshake message.")
  245. ER3(SSL_ERROR_DECRYPT_ERROR_ALERT         , (SSL_ERROR_BASE + 96),
  246. "Peer reports failure of signature verification or key exchange.")
  247. ER3(SSL_ERROR_EXPORT_RESTRICTION_ALERT    , (SSL_ERROR_BASE + 97),
  248. "Peer reports negotiation not in compliance with export regulations.")
  249. ER3(SSL_ERROR_PROTOCOL_VERSION_ALERT      , (SSL_ERROR_BASE + 98),
  250. "Peer reports incompatible or unsupported protocol version.")
  251. ER3(SSL_ERROR_INSUFFICIENT_SECURITY_ALERT , (SSL_ERROR_BASE + 99),
  252. "Server requires ciphers more secure than those supported by client.")
  253. ER3(SSL_ERROR_INTERNAL_ERROR_ALERT        , (SSL_ERROR_BASE + 100),
  254. "Peer reports it experienced an internal error.")
  255. ER3(SSL_ERROR_USER_CANCELED_ALERT         , (SSL_ERROR_BASE + 101),
  256. "Peer user canceled handshake.")
  257. ER3(SSL_ERROR_NO_RENEGOTIATION_ALERT      , (SSL_ERROR_BASE + 102),
  258. "Peer does not permit renegotiation of SSL security parameters.")