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

CA认证

开发平台:

WINDOWS

  1. /*
  2.  * Enumeration of all SSL-specific error codes.
  3.  *
  4.  * The contents of this file are subject to the Mozilla Public
  5.  * License Version 1.1 (the "License"); you may not use this file
  6.  * except in compliance with the License. You may obtain a copy of
  7.  * the License at http://www.mozilla.org/MPL/
  8.  * 
  9.  * Software distributed under the License is distributed on an "AS
  10.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  11.  * implied. See the License for the specific language governing
  12.  * rights and limitations under the License.
  13.  * 
  14.  * The Original Code is the Netscape security libraries.
  15.  * 
  16.  * The Initial Developer of the Original Code is Netscape
  17.  * Communications Corporation.  Portions created by Netscape are 
  18.  * Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  19.  * Rights Reserved.
  20.  * 
  21.  * Contributor(s):
  22.  * 
  23.  * Alternatively, the contents of this file may be used under the
  24.  * terms of the GNU General Public License Version 2 or later (the
  25.  * "GPL"), in which case the provisions of the GPL are applicable 
  26.  * instead of those above.  If you wish to allow use of your 
  27.  * version of this file only under the terms of the GPL and not to
  28.  * allow others to use your version of this file under the MPL,
  29.  * indicate your decision by deleting the provisions above and
  30.  * replace them with the notice and other provisions required by
  31.  * the GPL.  If you do not delete the provisions above, a recipient
  32.  * may use your version of this file under either the MPL or the
  33.  * GPL.
  34.  *
  35.  * $Id: sslerr.h,v 1.1 2000/03/31 19:35:01 relyea%netscape.com Exp $
  36.  */
  37. #ifndef __SSL_ERR_H_
  38. #define __SSL_ERR_H_
  39. #define SSL_ERROR_BASE (-0x3000)
  40. #define SSL_ERROR_LIMIT (SSL_ERROR_BASE + 1000)
  41. #define IS_SSL_ERROR(code) 
  42.     (((code) >= SSL_ERROR_BASE) && ((code) < SSL_ERROR_LIMIT))
  43. #ifndef NO_SECURITY_ERROR_ENUM
  44. typedef enum {
  45. SSL_ERROR_EXPORT_ONLY_SERVER  = (SSL_ERROR_BASE +  0),
  46. SSL_ERROR_US_ONLY_SERVER  = (SSL_ERROR_BASE +  1),
  47. SSL_ERROR_NO_CYPHER_OVERLAP  = (SSL_ERROR_BASE +  2),
  48. /* 
  49.  * Received an alert reporting what we did wrong.  (more alerts below)
  50.  */
  51. SSL_ERROR_NO_CERTIFICATE /*_ALERT */ = (SSL_ERROR_BASE +  3),
  52. SSL_ERROR_BAD_CERTIFICATE             = (SSL_ERROR_BASE +  4),
  53. /* error 5 is obsolete */
  54. SSL_ERROR_BAD_CLIENT  = (SSL_ERROR_BASE +  6),
  55. SSL_ERROR_BAD_SERVER  = (SSL_ERROR_BASE +  7),
  56. SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE = (SSL_ERROR_BASE +  8),
  57. SSL_ERROR_UNSUPPORTED_VERSION  = (SSL_ERROR_BASE +  9),
  58. /* error 10 is obsolete */
  59. SSL_ERROR_WRONG_CERTIFICATE = (SSL_ERROR_BASE + 11),
  60. SSL_ERROR_BAD_CERT_DOMAIN  = (SSL_ERROR_BASE + 12),
  61. SSL_ERROR_POST_WARNING  = (SSL_ERROR_BASE + 13),
  62. SSL_ERROR_SSL2_DISABLED  = (SSL_ERROR_BASE + 14),
  63. SSL_ERROR_BAD_MAC_READ  = (SSL_ERROR_BASE + 15),
  64. /* 
  65.  * Received an alert reporting what we did wrong.
  66.  * (two more alerts above, and many more below)
  67.  */
  68. SSL_ERROR_BAD_MAC_ALERT  = (SSL_ERROR_BASE + 16),
  69. SSL_ERROR_BAD_CERT_ALERT                = (SSL_ERROR_BASE + 17),
  70. SSL_ERROR_REVOKED_CERT_ALERT  = (SSL_ERROR_BASE + 18),
  71. SSL_ERROR_EXPIRED_CERT_ALERT  = (SSL_ERROR_BASE + 19),
  72. SSL_ERROR_SSL_DISABLED  = (SSL_ERROR_BASE + 20),
  73. SSL_ERROR_FORTEZZA_PQG  = (SSL_ERROR_BASE + 21),
  74. SSL_ERROR_UNKNOWN_CIPHER_SUITE = (SSL_ERROR_BASE + 22),
  75. SSL_ERROR_NO_CIPHERS_SUPPORTED = (SSL_ERROR_BASE + 23),
  76. SSL_ERROR_BAD_BLOCK_PADDING = (SSL_ERROR_BASE + 24),
  77. SSL_ERROR_RX_RECORD_TOO_LONG = (SSL_ERROR_BASE + 25),
  78. SSL_ERROR_TX_RECORD_TOO_LONG = (SSL_ERROR_BASE + 26),
  79. /* 
  80.  * Received a malformed (too long or short) SSL handshake.
  81.  */
  82. SSL_ERROR_RX_MALFORMED_HELLO_REQUEST = (SSL_ERROR_BASE + 27),
  83. SSL_ERROR_RX_MALFORMED_CLIENT_HELLO = (SSL_ERROR_BASE + 28),
  84. SSL_ERROR_RX_MALFORMED_SERVER_HELLO = (SSL_ERROR_BASE + 29),
  85. SSL_ERROR_RX_MALFORMED_CERTIFICATE = (SSL_ERROR_BASE + 30),
  86. SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH = (SSL_ERROR_BASE + 31),
  87. SSL_ERROR_RX_MALFORMED_CERT_REQUEST = (SSL_ERROR_BASE + 32),
  88. SSL_ERROR_RX_MALFORMED_HELLO_DONE = (SSL_ERROR_BASE + 33),
  89. SSL_ERROR_RX_MALFORMED_CERT_VERIFY = (SSL_ERROR_BASE + 34),
  90. SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH = (SSL_ERROR_BASE + 35),
  91. SSL_ERROR_RX_MALFORMED_FINISHED  = (SSL_ERROR_BASE + 36),
  92. /* 
  93.  * Received a malformed (too long or short) SSL record.
  94.  */
  95. SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER  = (SSL_ERROR_BASE + 37),
  96. SSL_ERROR_RX_MALFORMED_ALERT   = (SSL_ERROR_BASE + 38),
  97. SSL_ERROR_RX_MALFORMED_HANDSHAKE  = (SSL_ERROR_BASE + 39),
  98. SSL_ERROR_RX_MALFORMED_APPLICATION_DATA = (SSL_ERROR_BASE + 40),
  99. /*
  100.  * Received an SSL handshake that was inappropriate for the state we're in.
  101.  * E.g. Server received message from server, or wrong state in state machine.
  102.  */
  103. SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST = (SSL_ERROR_BASE + 41),
  104. SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO = (SSL_ERROR_BASE + 42),
  105. SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO = (SSL_ERROR_BASE + 43),
  106. SSL_ERROR_RX_UNEXPECTED_CERTIFICATE = (SSL_ERROR_BASE + 44),
  107. SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH = (SSL_ERROR_BASE + 45),
  108. SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST = (SSL_ERROR_BASE + 46),
  109. SSL_ERROR_RX_UNEXPECTED_HELLO_DONE = (SSL_ERROR_BASE + 47),
  110. SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY = (SSL_ERROR_BASE + 48),
  111. SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH = (SSL_ERROR_BASE + 49),
  112. SSL_ERROR_RX_UNEXPECTED_FINISHED  = (SSL_ERROR_BASE + 50),
  113. /*
  114.  * Received an SSL record that was inappropriate for the state we're in.
  115.  */
  116. SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER  = (SSL_ERROR_BASE + 51),
  117. SSL_ERROR_RX_UNEXPECTED_ALERT   = (SSL_ERROR_BASE + 52),
  118. SSL_ERROR_RX_UNEXPECTED_HANDSHAKE  = (SSL_ERROR_BASE + 53),
  119. SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA= (SSL_ERROR_BASE + 54),
  120. /*
  121.  * Received record/message with unknown discriminant.
  122.  */
  123. SSL_ERROR_RX_UNKNOWN_RECORD_TYPE = (SSL_ERROR_BASE + 55),
  124. SSL_ERROR_RX_UNKNOWN_HANDSHAKE  = (SSL_ERROR_BASE + 56),
  125. SSL_ERROR_RX_UNKNOWN_ALERT  = (SSL_ERROR_BASE + 57),
  126. /* 
  127.  * Received an alert reporting what we did wrong.  (more alerts above)
  128.  */
  129. SSL_ERROR_CLOSE_NOTIFY_ALERT  = (SSL_ERROR_BASE + 58),
  130. SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT  = (SSL_ERROR_BASE + 59),
  131. SSL_ERROR_DECOMPRESSION_FAILURE_ALERT  = (SSL_ERROR_BASE + 60),
  132. SSL_ERROR_HANDSHAKE_FAILURE_ALERT  = (SSL_ERROR_BASE + 61),
  133. SSL_ERROR_ILLEGAL_PARAMETER_ALERT  = (SSL_ERROR_BASE + 62),
  134. SSL_ERROR_UNSUPPORTED_CERT_ALERT  = (SSL_ERROR_BASE + 63),
  135. SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT  = (SSL_ERROR_BASE + 64),
  136. SSL_ERROR_GENERATE_RANDOM_FAILURE = (SSL_ERROR_BASE + 65),
  137. SSL_ERROR_SIGN_HASHES_FAILURE = (SSL_ERROR_BASE + 66),
  138. SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE = (SSL_ERROR_BASE + 67),
  139. SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE = (SSL_ERROR_BASE + 68),
  140. SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE = (SSL_ERROR_BASE + 69),
  141. SSL_ERROR_ENCRYPTION_FAILURE = (SSL_ERROR_BASE + 70),
  142. SSL_ERROR_DECRYPTION_FAILURE = (SSL_ERROR_BASE + 71),
  143. SSL_ERROR_SOCKET_WRITE_FAILURE = (SSL_ERROR_BASE + 72),
  144. SSL_ERROR_MD5_DIGEST_FAILURE = (SSL_ERROR_BASE + 73),
  145. SSL_ERROR_SHA_DIGEST_FAILURE = (SSL_ERROR_BASE + 74),
  146. SSL_ERROR_MAC_COMPUTATION_FAILURE = (SSL_ERROR_BASE + 75),
  147. SSL_ERROR_SYM_KEY_CONTEXT_FAILURE = (SSL_ERROR_BASE + 76),
  148. SSL_ERROR_SYM_KEY_UNWRAP_FAILURE = (SSL_ERROR_BASE + 77),
  149. SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED = (SSL_ERROR_BASE + 78),
  150. SSL_ERROR_IV_PARAM_FAILURE = (SSL_ERROR_BASE + 79),
  151. SSL_ERROR_INIT_CIPHER_SUITE_FAILURE = (SSL_ERROR_BASE + 80),
  152. SSL_ERROR_SESSION_KEY_GEN_FAILURE = (SSL_ERROR_BASE + 81),
  153. SSL_ERROR_NO_SERVER_KEY_FOR_ALG = (SSL_ERROR_BASE + 82),
  154. SSL_ERROR_TOKEN_INSERTION_REMOVAL = (SSL_ERROR_BASE + 83),
  155. SSL_ERROR_TOKEN_SLOT_NOT_FOUND = (SSL_ERROR_BASE + 84),
  156. SSL_ERROR_NO_COMPRESSION_OVERLAP = (SSL_ERROR_BASE + 85),
  157. SSL_ERROR_HANDSHAKE_NOT_COMPLETED = (SSL_ERROR_BASE + 86),
  158. SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE = (SSL_ERROR_BASE + 87),
  159. SSL_ERROR_CERT_KEA_MISMATCH = (SSL_ERROR_BASE + 88),
  160. SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA = (SSL_ERROR_BASE + 89),
  161. SSL_ERROR_SESSION_NOT_FOUND = (SSL_ERROR_BASE + 90),
  162. SSL_ERROR_DECRYPTION_FAILED_ALERT = (SSL_ERROR_BASE + 91),
  163. SSL_ERROR_RECORD_OVERFLOW_ALERT = (SSL_ERROR_BASE + 92),
  164. SSL_ERROR_UNKNOWN_CA_ALERT = (SSL_ERROR_BASE + 93),
  165. SSL_ERROR_ACCESS_DENIED_ALERT = (SSL_ERROR_BASE + 94),
  166. SSL_ERROR_DECODE_ERROR_ALERT = (SSL_ERROR_BASE + 95),
  167. SSL_ERROR_DECRYPT_ERROR_ALERT = (SSL_ERROR_BASE + 96),
  168. SSL_ERROR_EXPORT_RESTRICTION_ALERT = (SSL_ERROR_BASE + 97),
  169. SSL_ERROR_PROTOCOL_VERSION_ALERT = (SSL_ERROR_BASE + 98),
  170. SSL_ERROR_INSUFFICIENT_SECURITY_ALERT = (SSL_ERROR_BASE + 99),
  171. SSL_ERROR_INTERNAL_ERROR_ALERT = (SSL_ERROR_BASE + 100),
  172. SSL_ERROR_USER_CANCELED_ALERT = (SSL_ERROR_BASE + 101),
  173. SSL_ERROR_NO_RENEGOTIATION_ALERT = (SSL_ERROR_BASE + 102),
  174. SSL_ERROR_END_OF_LIST /* let the c compiler determine the value of this. */
  175. } SSLErrorCodes;
  176. #endif /* NO_SECURITY_ERROR_ENUM */
  177. #endif /* __SSL_ERR_H_ */