00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #ifndef HEADER_TLS1_H
00073 #define HEADER_TLS1_H
00074
00075 #include <openssl/buffer.h>
00076
00077 #ifdef __cplusplus
00078 extern "C" {
00079 #endif
00080
00081 #define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 1
00082
00083 #define TLS1_VERSION 0x0301
00084 #define TLS1_VERSION_MAJOR 0x03
00085 #define TLS1_VERSION_MINOR 0x01
00086
00087 #define TLS1_AD_DECRYPTION_FAILED 21
00088 #define TLS1_AD_RECORD_OVERFLOW 22
00089 #define TLS1_AD_UNKNOWN_CA 48
00090 #define TLS1_AD_ACCESS_DENIED 49
00091 #define TLS1_AD_DECODE_ERROR 50
00092 #define TLS1_AD_DECRYPT_ERROR 51
00093 #define TLS1_AD_EXPORT_RESTRICTION 60
00094 #define TLS1_AD_PROTOCOL_VERSION 70
00095 #define TLS1_AD_INSUFFICIENT_SECURITY 71
00096 #define TLS1_AD_INTERNAL_ERROR 80
00097 #define TLS1_AD_USER_CANCELLED 90
00098 #define TLS1_AD_NO_RENEGOTIATION 100
00099
00100
00101
00102
00103
00104 #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060
00105 #define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061
00106 #define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062
00107 #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063
00108 #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064
00109 #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065
00110 #define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066
00111
00112
00113
00114 #define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F
00115 #define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030
00116 #define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031
00117 #define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032
00118 #define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033
00119 #define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034
00120
00121 #define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035
00122 #define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036
00123 #define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037
00124 #define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038
00125 #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039
00126 #define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138 #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x03000047
00139 #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x03000048
00140 #define TLS1_CK_ECDH_ECDSA_WITH_DES_CBC_SHA 0x03000049
00141 #define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300004A
00142 #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300004B
00143 #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300004C
00144 #define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA 0x0300005B
00145 #define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA 0x0300005C
00146
00147 #define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300004D
00148 #define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300004E
00149 #define TLS1_CK_ECDH_RSA_WITH_DES_CBC_SHA 0x0300004F
00150 #define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x03000050
00151 #define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x03000051
00152 #define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x03000052
00153 #define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_40_SHA 0x03000053
00154 #define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_56_SHA 0x03000054
00155
00156 #define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x03000055
00157 #define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x03000056
00158 #define TLS1_CK_ECDH_anon_WITH_DES_CBC_SHA 0x03000057
00159 #define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x03000058
00160 #define TLS1_CK_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA 0x03000059
00161 #define TLS1_CK_ECDH_anon_EXPORT_WITH_RC4_40_SHA 0x0300005A
00162
00163
00164
00165
00166
00167
00168
00169
00170 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x03000077
00171 #define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x03000078
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181 #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5"
00182 #define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5"
00183 #define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA"
00184 #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA"
00185 #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA"
00186 #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA"
00187 #define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA"
00188
00189
00190 #define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA"
00191 #define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA"
00192 #define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA"
00193 #define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA"
00194 #define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA"
00195 #define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA"
00196
00197 #define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA"
00198 #define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA"
00199 #define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA"
00200 #define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA"
00201 #define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA"
00202 #define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA"
00203
00204
00205 #define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA"
00206 #define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA"
00207 #define TLS1_TXT_ECDH_ECDSA_WITH_DES_CBC_SHA "ECDH-ECDSA-DES-CBC-SHA"
00208 #define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA"
00209 #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA"
00210 #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA"
00211 #define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA "EXP-ECDH-ECDSA-RC4-40-SHA"
00212 #define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA "EXP-ECDH-ECDSA-RC4-56-SHA"
00213
00214 #define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA"
00215 #define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA"
00216 #define TLS1_TXT_ECDH_RSA_WITH_DES_CBC_SHA "ECDH-RSA-DES-CBC-SHA"
00217 #define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA"
00218 #define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA"
00219 #define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA"
00220 #define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_40_SHA "EXP-ECDH-RSA-RC4-40-SHA"
00221 #define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_56_SHA "EXP-ECDH-RSA-RC4-56-SHA"
00222
00223 #define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA"
00224 #define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA"
00225 #define TLS1_TXT_ECDH_anon_WITH_DES_CBC_SHA "AECDH-DES-CBC-SHA"
00226 #define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA"
00227 #define TLS1_TXT_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA "EXP-AECDH-DES-40-CBC-SHA"
00228 #define TLS1_TXT_ECDH_anon_EXPORT_WITH_RC4_40_SHA "EXP-AECDH-RC4-40-SHA"
00229
00230
00231
00232
00233 #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA"
00234 #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA"
00235
00236
00237 #define TLS_CT_RSA_SIGN 1
00238 #define TLS_CT_DSS_SIGN 2
00239 #define TLS_CT_RSA_FIXED_DH 3
00240 #define TLS_CT_DSS_FIXED_DH 4
00241 #define TLS_CT_ECDSA_SIGN 5
00242 #define TLS_CT_RSA_FIXED_ECDH 6
00243 #define TLS_CT_ECDSA_FIXED_ECDH 7
00244 #define TLS_CT_NUMBER 7
00245
00246 #define TLS1_FINISH_MAC_LENGTH 12
00247
00248 #define TLS_MD_MAX_CONST_SIZE 20
00249 #define TLS_MD_CLIENT_FINISH_CONST "client finished"
00250 #define TLS_MD_CLIENT_FINISH_CONST_SIZE 15
00251 #define TLS_MD_SERVER_FINISH_CONST "server finished"
00252 #define TLS_MD_SERVER_FINISH_CONST_SIZE 15
00253 #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key"
00254 #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16
00255 #define TLS_MD_KEY_EXPANSION_CONST "key expansion"
00256 #define TLS_MD_KEY_EXPANSION_CONST_SIZE 13
00257 #define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key"
00258 #define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16
00259 #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key"
00260 #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16
00261 #define TLS_MD_IV_BLOCK_CONST "IV block"
00262 #define TLS_MD_IV_BLOCK_CONST_SIZE 8
00263 #define TLS_MD_MASTER_SECRET_CONST "master secret"
00264 #define TLS_MD_MASTER_SECRET_CONST_SIZE 13
00265
00266 #ifdef CHARSET_EBCDIC
00267 #undef TLS_MD_CLIENT_FINISH_CONST
00268 #define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
00269 #undef TLS_MD_SERVER_FINISH_CONST
00270 #define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
00271 #undef TLS_MD_SERVER_WRITE_KEY_CONST
00272 #define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00273 #undef TLS_MD_KEY_EXPANSION_CONST
00274 #define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e"
00275 #undef TLS_MD_CLIENT_WRITE_KEY_CONST
00276 #define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00277 #undef TLS_MD_SERVER_WRITE_KEY_CONST
00278 #define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00279 #undef TLS_MD_IV_BLOCK_CONST
00280 #define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b"
00281 #undef TLS_MD_MASTER_SECRET_CONST
00282 #define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"
00283 #endif
00284
00285 #ifdef __cplusplus
00286 }
00287 #endif
00288 #endif
00289
00290
00291