| RSA BSAFE Micro Edition Suite |
Streamlined security for mobile and embedded devices |
 
![]() |
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