RSA BSAFE Micro Edition Suite

Streamlined security for mobile and embedded devices

Search  Print

ssl3.h

Go to the documentation of this file.
00001 /* $Id: ssl3.h,v 1.31 2004/09/17 03:44:39 spatel Exp $ */
00002 
00003 /*
00004  * Copyright (C) 1999-2003 RSA Security Inc. All rights reserved. 
00005  *
00006  * This work contains proprietary information of RSA Security. 
00007  * Distribution is limited to authorized licensees of RSA 
00008  * Security. Any unauthorized reproduction, distribution or 
00009  * modification of this work is strictly prohibited.
00010  */
00017 #ifndef HEADER_SSL3_H
00018 #define HEADER_SSL3_H
00019 
00020 #ifdef  __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024 #define SSL3_CK_RSA_NULL_MD5             0x03000001
00025 #define SSL3_CK_RSA_NULL_SHA             0x03000002
00026 
00027 #define SSL3_CK_RSA_RC4_40_MD5           0x03000003
00028 #define SSL3_CK_RSA_RC4_128_MD5          0x03000004
00029 #define SSL3_CK_RSA_RC4_128_SHA          0x03000005
00030 
00031 #define SSL3_CK_RSA_RC2_40_MD5           0x03000006
00032 #define SSL3_CK_RSA_IDEA_128_SHA         0x03000007
00033 #define SSL3_CK_RSA_DES_40_CBC_SHA       0x03000008
00034 #define SSL3_CK_RSA_DES_64_CBC_SHA       0x03000009
00035 #define SSL3_CK_RSA_DES_192_CBC3_SHA     0x0300000A
00036 
00037 #define SSL3_CK_DH_DSS_DES_40_CBC_SHA    0x0300000B
00038 #define SSL3_CK_DH_DSS_DES_64_CBC_SHA    0x0300000C
00039 #define SSL3_CK_DH_DSS_DES_192_CBC3_SHA  0x0300000D
00040 #define SSL3_CK_DH_RSA_DES_40_CBC_SHA    0x0300000E
00041 #define SSL3_CK_DH_RSA_DES_64_CBC_SHA    0x0300000F
00042 #define SSL3_CK_DH_RSA_DES_192_CBC3_SHA  0x03000010
00043 
00044 #define SSL3_CK_EDH_DSS_DES_40_CBC_SHA   0x03000011
00045 #define SSL3_CK_EDH_DSS_DES_64_CBC_SHA   0x03000012
00046 #define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013
00047 #define SSL3_CK_EDH_RSA_DES_40_CBC_SHA   0x03000014
00048 #define SSL3_CK_EDH_RSA_DES_64_CBC_SHA   0x03000015
00049 #define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016
00050 
00051 #define SSL3_CK_ADH_RC4_40_MD5           0x03000017
00052 #define SSL3_CK_ADH_RC4_128_MD5          0x03000018
00053 #define SSL3_CK_ADH_DES_40_CBC_SHA       0x03000019
00054 #define SSL3_CK_ADH_DES_64_CBC_SHA       0x0300001A
00055 #define SSL3_CK_ADH_DES_192_CBC_SHA      0x0300001B
00056 
00057 #define SSL3_CK_FZA_DMS_NULL_SHA         0x0300001C
00058 #define SSL3_CK_FZA_DMS_FZA_SHA          0x0300001D
00059 #define SSL3_CK_FZA_DMS_RC4_SHA          0x0300001E
00060 
00061 #define SSL3_CK_RSA_RC4_56_SHA           0x03000064
00062 #define SSL3_TXT_RSA_RC4_56_SHA          "EXP-RC4-56-SHA"
00063 
00064 #define SSL3_CK_RSA_DES_56_SHA           0x03000062
00065 #define SSL3_TXT_RSA_DES_56_SHA          "EXP-DES-56-SHA"
00066 
00067 #define SSL3_CK_EDH_DSS_DES_56_SHA       0x03000063
00068 #define SSL3_TXT_EDH_DSS_DES_56_SHA      "EXP-EDH-DSS-DES-56-SHA"
00069 
00070 #define SSL3_CK_EDH_DSS_RC4_56_SHA       0x03000065
00071 #define SSL3_TXT_EDH_DSS_RC4_56_SHA      "EXP-EDH-DSS-RC4-56-SHA"
00072 
00073 #define SSL3_CK_EDH_DSS_RC4_128_SHA      0x03000066
00074 #define SSL3_TXT_EDH_DSS_RC4_128_SHA     "EDH-DSS-RC4-SHA"
00075 
00076 #ifndef NO_AES
00077 /* AES cipher suites - from ietf-draft - now in published in RFC3268*/
00078 #define SSL3_CK_RSA_AES_128_SHA          0x0300002F
00079 #define SSL3_TXT_RSA_AES_128_SHA         "AES128-SHA"
00080 
00081 #define SSL3_CK_DH_DSS_AES_128_SHA       0x03000030
00082 #define SSL3_TXT_DH_DSS_AES_128_SHA      "DH-DSS-AES128-SHA"
00083 
00084 #define SSL3_CK_DH_RSA_AES_128_SHA       0x03000031
00085 #define SSL3_TXT_DH_RSA_AES_128_SHA      "DH-RSA-AES128-SHA"
00086 
00087 #define SSL3_CK_EDH_DSS_AES_128_SHA      0x03000032
00088 #define SSL3_TXT_EDH_DSS_AES_128_SHA     "EDH-DSS-AES128-SHA"
00089 
00090 #define SSL3_CK_EDH_RSA_AES_128_SHA      0x03000033
00091 #define SSL3_TXT_EDH_RSA_AES_128_SHA     "EDH-RSA-AES128-SHA"
00092 
00093 #define SSL3_CK_ADH_AES_128_SHA          0x03000034
00094 #define SSL3_TXT_ADH_AES_128_SHA         "ADH-AES128-SHA"
00095 
00096 #define SSL3_CK_RSA_AES_256_SHA          0x03000035
00097 #define SSL3_TXT_RSA_AES_256_SHA         "AES256-SHA"
00098 
00099 #define SSL3_CK_DH_DSS_AES_256_SHA       0x03000036
00100 #define SSL3_TXT_DH_DSS_AES_256_SHA      "DH-DSS-AES256-SHA"
00101 
00102 #define SSL3_CK_DH_RSA_AES_256_SHA       0x03000037
00103 #define SSL3_TXT_DH_RSA_AES_256_SHA      "DH-RSA-AES256-SHA"
00104 
00105 #define SSL3_CK_EDH_DSS_AES_256_SHA      0x03000038
00106 #define SSL3_TXT_EDH_DSS_AES_256_SHA     "EDH-DSS-AES256-SHA"
00107 
00108 #define SSL3_CK_EDH_RSA_AES_256_SHA      0x03000039
00109 #define SSL3_TXT_EDH_RSA_AES_256_SHA     "EDH-RSA-AES256-SHA"
00110 
00111 #define SSL3_CK_ADH_AES_256_SHA          0x0300003A
00112 #define SSL3_TXT_ADH_AES_256_SHA         "ADH-AES256-SHA"
00113 #endif /* NO_AES */
00114 
00115 #define SSL3_TXT_RSA_NULL_MD5            "NULL-MD5"
00116 #define SSL3_TXT_RSA_NULL_SHA            "NULL-SHA"
00117 
00118 #define SSL3_TXT_RSA_RC4_40_MD5          "EXP-RC4-MD5"
00119 #define SSL3_TXT_RSA_RC4_128_MD5         "RC4-MD5"
00120 #define SSL3_TXT_RSA_RC4_128_SHA         "RC4-SHA"
00121 
00122 #define SSL3_TXT_RSA_RC2_40_MD5          "EXP-RC2-CBC-MD5"
00123 #define SSL3_TXT_RSA_IDEA_128_SHA        "IDEA-CBC-SHA"
00124 #define SSL3_TXT_RSA_DES_40_CBC_SHA      "EXP-DES-CBC-SHA"
00125 #define SSL3_TXT_RSA_DES_64_CBC_SHA      "DES-CBC-SHA"
00126 #define SSL3_TXT_RSA_DES_192_CBC3_SHA    "DES-CBC3-SHA"
00127 
00128 #define SSL3_TXT_DH_DSS_DES_40_CBC_SHA   "EXP-DH-DSS-DES-CBC-SHA"
00129 #define SSL3_TXT_DH_DSS_DES_64_CBC_SHA   "DH-DSS-DES-CBC-SHA"
00130 #define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA"
00131 #define SSL3_TXT_DH_RSA_DES_40_CBC_SHA   "EXP-DH-RSA-DES-CBC-SHA"
00132 #define SSL3_TXT_DH_RSA_DES_64_CBC_SHA   "DH-RSA-DES-CBC-SHA"
00133 #define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA"
00134 
00135 #define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA   "EXP-EDH-DSS-DES-CBC-SHA"
00136 #define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA   "EDH-DSS-DES-CBC-SHA"
00137 #define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA"
00138 #define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA   "EXP-EDH-RSA-DES-CBC-SHA"
00139 #define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA   "EDH-RSA-DES-CBC-SHA"
00140 #define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA"
00141 
00142 #define SSL3_TXT_ADH_RC4_40_MD5           "EXP-ADH-RC4-MD5"
00143 #define SSL3_TXT_ADH_RC4_128_MD5          "ADH-RC4-MD5"
00144 #define SSL3_TXT_ADH_DES_40_CBC_SHA       "EXP-ADH-DES-CBC-SHA"
00145 #define SSL3_TXT_ADH_DES_64_CBC_SHA       "ADH-DES-CBC-SHA"
00146 #define SSL3_TXT_ADH_DES_192_CBC_SHA      "ADH-DES-CBC3-SHA"
00147 
00148 #define SSL3_TXT_FZA_DMS_NULL_SHA         "FZA-NULL-SHA"
00149 #define SSL3_TXT_FZA_DMS_FZA_SHA          "FZA-FZA-CBC-SHA"
00150 #define SSL3_TXT_FZA_DMS_RC4_SHA          "FZA-RC4-SHA"
00151 
00152 #define SSL3_SSL_SESSION_ID_LENGTH        32
00153 #define SSL3_MAX_SSL_SESSION_ID_LENGTH    32
00154 
00155 #define SSL3_MASTER_SECRET_SIZE           48
00156 #define SSL3_RANDOM_SIZE                  32
00157 #define SSL3_SESSION_ID_SIZE              32
00158 #define SSL3_RT_HEADER_LENGTH             5
00159 
00160 /* Due to MS, this can change.... */
00161 #if defined(WIN16) || (defined(MSDOS) && !defined(WIN32))
00162 #define SSL3_RT_MAX_EXTRA                 (14000)
00163 #else
00164 #define SSL3_RT_MAX_EXTRA                 (16384)
00165 #endif
00166 
00167 #define SSL3_RT_MAX_PLAIN_LENGTH          16384
00168 #define SSL3_RT_MAX_COMPRESSED_LENGTH     (1024+SSL3_RT_MAX_PLAIN_LENGTH)
00169 #define SSL3_RT_MAX_ENCRYPTED_LENGTH      (1024+SSL3_RT_MAX_COMPRESSED_LENGTH)
00170 #define SSL3_RT_MAX_PACKET_SIZE        \
00171                          (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH)
00172 #define SSL3_RT_EXTRA_TRAILER             (1024+1024+SSL3_RT_HEADER_LENGTH)
00173 #define SSL3_RT_MAX_DATA_SIZE             (1024*1024)
00174 
00175 /* the state that in_read_app_data flag can be in
00176  *
00177  * 0 -> not reading application data
00178  * 1 -> reading application data
00179  * 2 -> reading application data while expecting renegotiation
00180  *      handshake message
00181  */
00182 #define SSL3_NOT_READ_APP_DATA            0
00183 #define SSL3_READ_APP_DATA                1
00184 #define SSL3_READ_APP_DATA_IN_HANDSHAKE   2
00185 
00186 /* the states that a SSL3_RECORD can be in
00187  * For SSL_read it goes
00188  * rbuf->ENCODED   -> read
00189  * ENCODED         -> we need to decode everything - call decode_record
00190  * 
00191  * NOTE : NONE OF THESE VALUES ARE USED IN THE CODE BASE
00192  */
00193 
00194 #define SSL3_RS_BLANK                     1
00195 #define SSL3_RS_DATA
00196 
00197 #define SSL3_RS_ENCODED                   2
00198 #define SSL3_RS_READ_MORE                 3
00199 #define SSL3_RS_WRITE_MORE
00200 #define SSL3_RS_PLAIN                     3
00201 #define SSL3_RS_PART_READ                 4
00202 #define SSL3_RS_PART_WRITE                5
00203 
00204 #define SSL3_MD_CLIENT_FINISHED_CONST     {0x43,0x4C,0x4E,0x54}
00205 #define SSL3_MD_SERVER_FINISHED_CONST     {0x53,0x52,0x56,0x52}
00206 
00207 /* SSLv3 protocol version numbers */
00208 #define SSL3_VERSION                      0x0300
00209 #define SSL3_VERSION_MAJOR                0x03
00210 #define SSL3_VERSION_MINOR                0x00
00211 
00212 /* SSLv3/TLSv1 alert levels */
00213 #define SSL3_AL_WARNING                   1
00214 #define SSL3_AL_FATAL                     2
00215 
00216 /* SSLv3 specific alert descriptions */
00217 #define SSL3_AD_CLOSE_NOTIFY               0
00218 #define SSL3_AD_UNEXPECTED_MESSAGE        10        /* fatal */
00219 #define SSL3_AD_BAD_RECORD_MAC            20        /* fatal */
00220 #define SSL3_AD_DECOMPRESSION_FAILURE     30        /* fatal */
00221 #define SSL3_AD_HANDSHAKE_FAILURE         40        /* fatal */
00222 #define SSL3_AD_NO_CERTIFICATE            41
00223 #define SSL3_AD_BAD_CERTIFICATE           42
00224 #define SSL3_AD_UNSUPPORTED_CERTIFICATE   43
00225 #define SSL3_AD_CERTIFICATE_REVOKED       44
00226 #define SSL3_AD_CERTIFICATE_EXPIRED       45
00227 #define SSL3_AD_CERTIFICATE_UNKNOWN       46
00228 #define SSL3_AD_ILLEGAL_PARAMETER         47        /* fatal */
00229 
00230 /* SSLv3 supported certificate types */
00231 #define SSL3_CT_RSA_SIGN                   1
00232 #define SSL3_CT_DSS_SIGN                   2
00233 #define SSL3_CT_RSA_FIXED_DH               3
00234 #define SSL3_CT_DSS_FIXED_DH               4
00235 #define SSL3_CT_RSA_EPHEMERAL_DH           5
00236 #define SSL3_CT_DSS_EPHEMERAL_DH           6
00237 #define SSL3_CT_FORTEZZA_DMS              20
00238 #define SSL3_CT_NUMBER                     7
00239 
00240 /* Flags for SSLv3/TLSv1 protocol variations */
00241 #define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS     0x0001
00242 #define SSL3_FLAGS_DELAY_CLIENT_FINISHED      0x0002 /* UNUSED */
00243 #define SSL3_FLAGS_POP_BUFFER                 0x0004 /* Client only */
00244 #define TLS1_FLAGS_TLS_PADDING_BUG            0x0008
00245 #define SSL3_FLAGS_DELAY_READ_SERVER_FINISHED 0x0010 /* Client only */
00246 #define SSL3_FLAGS_EXPECT_CCS                 0x0020 /* on if a ccs message is acceptable */
00247 
00248 #define ssl3_set_flag(s,f)      ((s)->s3->flags|=(f))
00249 #define ssl3_clear_flag(s,f)    ((s)->s3->flags&= ~(f))
00250 #define ssl3_get_flag(s,f)      ((s)->s3->flags & (f))
00251 
00252 /* SSLv3 */
00253 /* client */
00255 #define SSL3_ST_CW_FLUSH                (0x100|SSL_ST_CONNECT)
00256 
00257 #define SSL3_ST_CR_HELLO_REQ_A          (0x101|SSL_ST_CONNECT)
00258 
00259 #define SSL3_ST_CW_CLNT_HELLO_A         (0x110|SSL_ST_CONNECT)
00260 
00261 #define SSL3_ST_CW_CLNT_HELLO_B         (0x111|SSL_ST_CONNECT)
00262 /* read from server */
00264 #define SSL3_ST_CR_SRVR_HELLO_A         (0x120|SSL_ST_CONNECT)
00265 
00266 #define SSL3_ST_CR_SRVR_HELLO_B         (0x121|SSL_ST_CONNECT)
00267 
00268 #define SSL3_ST_CR_CERT_A               (0x130|SSL_ST_CONNECT)
00269 
00270 #define SSL3_ST_CR_CERT_B               (0x131|SSL_ST_CONNECT)
00271 
00272 #define SSL3_ST_CR_KEY_EXCH_A           (0x140|SSL_ST_CONNECT)
00273 
00274 #define SSL3_ST_CR_KEY_EXCH_B           (0x141|SSL_ST_CONNECT)
00275 
00276 #define SSL3_ST_CR_CERT_REQ_A           (0x150|SSL_ST_CONNECT)
00277 
00278 #define SSL3_ST_CR_CERT_REQ_B           (0x151|SSL_ST_CONNECT)
00279 
00280 #define SSL3_ST_CR_SRVR_DONE_A          (0x160|SSL_ST_CONNECT)
00281 
00282 #define SSL3_ST_CR_SRVR_DONE_B          (0x161|SSL_ST_CONNECT)
00283 /* write to server */
00285 #define SSL3_ST_CW_CERT_A               (0x170|SSL_ST_CONNECT)
00286 
00287 #define SSL3_ST_CW_CERT_B               (0x171|SSL_ST_CONNECT)
00288 
00289 #define SSL3_ST_CW_CERT_C               (0x172|SSL_ST_CONNECT)
00290 
00291 #define SSL3_ST_CW_CERT_D               (0x173|SSL_ST_CONNECT)
00292 
00293 #define SSL3_ST_CW_KEY_EXCH_A           (0x180|SSL_ST_CONNECT)
00294 
00295 #define SSL3_ST_CW_KEY_EXCH_B           (0x181|SSL_ST_CONNECT)
00296 
00297 #define SSL3_ST_CW_CERT_VRFY_A          (0x190|SSL_ST_CONNECT)
00298 
00299 #define SSL3_ST_CW_CERT_VRFY_B          (0x191|SSL_ST_CONNECT)
00300 
00301 #define SSL3_ST_CW_CHANGE_A             (0x1A0|SSL_ST_CONNECT)
00302 
00303 #define SSL3_ST_CW_CHANGE_B             (0x1A1|SSL_ST_CONNECT)
00304 
00305 #define SSL3_ST_CW_FINISHED_A           (0x1B0|SSL_ST_CONNECT)
00306 
00307 #define SSL3_ST_CW_FINISHED_B           (0x1B1|SSL_ST_CONNECT)
00308 /* read from server */
00310 #define SSL3_ST_CR_CHANGE_A             (0x1C0|SSL_ST_CONNECT)
00311 
00312 #define SSL3_ST_CR_CHANGE_B             (0x1C1|SSL_ST_CONNECT)
00313 
00314 #define SSL3_ST_CR_FINISHED_A           (0x1D0|SSL_ST_CONNECT)
00315 
00316 #define SSL3_ST_CR_FINISHED_B           (0x1D1|SSL_ST_CONNECT)
00317 
00318 /* server */
00319 /* extra state */
00321 #define SSL3_ST_SW_FLUSH                (0x100|SSL_ST_ACCEPT)
00322 /* read from client */
00323 /* Do not change the number values, they do matter */
00325 #define SSL3_ST_SR_CLNT_HELLO_A         (0x110|SSL_ST_ACCEPT)
00326 
00327 #define SSL3_ST_SR_CLNT_HELLO_B         (0x111|SSL_ST_ACCEPT)
00328 
00329 #define SSL3_ST_SR_CLNT_HELLO_C         (0x112|SSL_ST_ACCEPT)
00330 /* write to client */
00332 #define SSL3_ST_SW_HELLO_REQ_A          (0x120|SSL_ST_ACCEPT)
00333 
00334 #define SSL3_ST_SW_HELLO_REQ_B          (0x121|SSL_ST_ACCEPT)
00335 
00336 #define SSL3_ST_SW_HELLO_REQ_C          (0x122|SSL_ST_ACCEPT)
00337 
00338 #define SSL3_ST_SW_SRVR_HELLO_A         (0x130|SSL_ST_ACCEPT)
00339 
00340 #define SSL3_ST_SW_SRVR_HELLO_B         (0x131|SSL_ST_ACCEPT)
00341 
00342 #define SSL3_ST_SW_CERT_A               (0x140|SSL_ST_ACCEPT)
00343 
00344 #define SSL3_ST_SW_CERT_B               (0x141|SSL_ST_ACCEPT)
00345 
00346 #define SSL3_ST_SW_KEY_EXCH_A           (0x150|SSL_ST_ACCEPT)
00347 
00348 #define SSL3_ST_SW_KEY_EXCH_B           (0x151|SSL_ST_ACCEPT)
00349 
00350 #define SSL3_ST_SW_CERT_REQ_A           (0x160|SSL_ST_ACCEPT)
00351 
00352 #define SSL3_ST_SW_CERT_REQ_B           (0x161|SSL_ST_ACCEPT)
00353 
00354 #define SSL3_ST_SW_SRVR_DONE_A          (0x170|SSL_ST_ACCEPT)
00355 
00356 #define SSL3_ST_SW_SRVR_DONE_B          (0x171|SSL_ST_ACCEPT)
00357 /* read from client */
00359 #define SSL3_ST_SR_CERT_A               (0x180|SSL_ST_ACCEPT)
00360 
00361 #define SSL3_ST_SR_CERT_B               (0x181|SSL_ST_ACCEPT)
00362 
00363 #define SSL3_ST_SR_KEY_EXCH_A           (0x190|SSL_ST_ACCEPT)
00364 
00365 #define SSL3_ST_SR_KEY_EXCH_B           (0x191|SSL_ST_ACCEPT)
00366 
00367 #define SSL3_ST_SR_CERT_VRFY_A          (0x1A0|SSL_ST_ACCEPT)
00368 
00369 #define SSL3_ST_SR_CERT_VRFY_B          (0x1A1|SSL_ST_ACCEPT)
00370 
00371 #define SSL3_ST_SR_CHANGE_A             (0x1B0|SSL_ST_ACCEPT)
00372 
00373 #define SSL3_ST_SR_CHANGE_B             (0x1B1|SSL_ST_ACCEPT)
00374 
00375 #define SSL3_ST_SR_FINISHED_A           (0x1C0|SSL_ST_ACCEPT)
00376 
00377 #define SSL3_ST_SR_FINISHED_B           (0x1C1|SSL_ST_ACCEPT)
00378 /* write to client */
00380 #define SSL3_ST_SW_CHANGE_A             (0x1D0|SSL_ST_ACCEPT)
00381 
00382 #define SSL3_ST_SW_CHANGE_B             (0x1D1|SSL_ST_ACCEPT)
00383 
00384 #define SSL3_ST_SW_FINISHED_A           (0x1E0|SSL_ST_ACCEPT)
00385 
00386 #define SSL3_ST_SW_FINISHED_B           (0x1E1|SSL_ST_ACCEPT)
00387 
00388 /* Handshake record message types */
00389 #define SSL3_MT_CLIENT_REQUEST       0
00390 #define SSL3_MT_CLIENT_HELLO         1
00391 #define SSL3_MT_SERVER_HELLO         2
00392 #define SSL3_MT_CERTIFICATE         11
00393 #define SSL3_MT_SERVER_KEY_EXCHANGE 12
00394 #define SSL3_MT_CERTIFICATE_REQUEST 13
00395 #define SSL3_MT_SERVER_DONE         14
00396 #define SSL3_MT_CERTIFICATE_VERIFY  15
00397 #define SSL3_MT_CLIENT_KEY_EXCHANGE 16
00398 #define SSL3_MT_FINISHED            20
00399 
00400 /* Change cipher spec message types */
00401 #define SSL3_MT_CCS                  1
00402 
00403 /* These are used when changing over to a new cipher */
00404 #define SSL3_CC_READ                     0x01
00405 #define SSL3_CC_WRITE                    0x02
00406 #define SSL3_CC_CLIENT                   0x10
00407 #define SSL3_CC_SERVER                   0x20
00408 #define SSL3_CHANGE_CIPHER_CLIENT_WRITE  (SSL3_CC_CLIENT|SSL3_CC_WRITE)
00409 #define SSL3_CHANGE_CIPHER_SERVER_READ   (SSL3_CC_SERVER|SSL3_CC_READ)
00410 #define SSL3_CHANGE_CIPHER_CLIENT_READ   (SSL3_CC_CLIENT|SSL3_CC_READ)
00411 #define SSL3_CHANGE_CIPHER_SERVER_WRITE  (SSL3_CC_SERVER|SSL3_CC_WRITE)
00412 
00413 #ifdef  __cplusplus
00414 }
00415 #endif
00416 #endif
00417 

Copyright (c) 1999-2005 RSA Security Inc. All rights reserved. 072-001001-2100-001-000 - 2.1