tls1.h
Go to the documentation of this file.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 0
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 #define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041
00130 #define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042
00131 #define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043
00132 #define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044
00133 #define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045
00134 #define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046
00135
00136 #define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084
00137 #define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085
00138 #define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086
00139 #define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087
00140 #define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088
00141 #define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089
00142
00143
00144 #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001
00145 #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002
00146 #define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003
00147 #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004
00148 #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005
00149
00150 #define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006
00151 #define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007
00152 #define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008
00153 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009
00154 #define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A
00155
00156 #define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B
00157 #define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C
00158 #define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D
00159 #define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E
00160 #define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F
00161
00162 #define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010
00163 #define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011
00164 #define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012
00165 #define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013
00166 #define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014
00167
00168 #define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015
00169 #define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016
00170 #define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017
00171 #define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018
00172 #define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019
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_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA"
00208 #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA"
00209 #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA"
00210
00211 #define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA"
00212 #define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA"
00213 #define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA"
00214 #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA"
00215 #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA"
00216
00217 #define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA"
00218 #define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA"
00219 #define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA"
00220 #define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA"
00221 #define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA"
00222
00223 #define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA"
00224 #define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA"
00225 #define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA"
00226 #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA"
00227 #define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA"
00228
00229 #define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA"
00230 #define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA"
00231 #define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA"
00232 #define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA"
00233 #define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA"
00234
00235
00236 #define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA"
00237 #define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA"
00238 #define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA"
00239 #define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA"
00240 #define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA"
00241 #define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA"
00242
00243 #define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA"
00244 #define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA"
00245 #define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA"
00246 #define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA"
00247 #define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA"
00248 #define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA"
00249
00250
00251 #define TLS_CT_RSA_SIGN 1
00252 #define TLS_CT_DSS_SIGN 2
00253 #define TLS_CT_RSA_FIXED_DH 3
00254 #define TLS_CT_DSS_FIXED_DH 4
00255 #define TLS_CT_ECDSA_SIGN 64
00256 #define TLS_CT_RSA_FIXED_ECDH 65
00257 #define TLS_CT_ECDSA_FIXED_ECDH 66
00258 #define TLS_CT_NUMBER 7
00259
00260 #define TLS1_FINISH_MAC_LENGTH 12
00261
00262 #define TLS_MD_MAX_CONST_SIZE 20
00263 #define TLS_MD_CLIENT_FINISH_CONST "client finished"
00264 #define TLS_MD_CLIENT_FINISH_CONST_SIZE 15
00265 #define TLS_MD_SERVER_FINISH_CONST "server finished"
00266 #define TLS_MD_SERVER_FINISH_CONST_SIZE 15
00267 #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key"
00268 #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16
00269 #define TLS_MD_KEY_EXPANSION_CONST "key expansion"
00270 #define TLS_MD_KEY_EXPANSION_CONST_SIZE 13
00271 #define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key"
00272 #define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16
00273 #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key"
00274 #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16
00275 #define TLS_MD_IV_BLOCK_CONST "IV block"
00276 #define TLS_MD_IV_BLOCK_CONST_SIZE 8
00277 #define TLS_MD_MASTER_SECRET_CONST "master secret"
00278 #define TLS_MD_MASTER_SECRET_CONST_SIZE 13
00279
00280 #ifdef CHARSET_EBCDIC
00281 #undef TLS_MD_CLIENT_FINISH_CONST
00282 #define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
00283 #undef TLS_MD_SERVER_FINISH_CONST
00284 #define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64"
00285 #undef TLS_MD_SERVER_WRITE_KEY_CONST
00286 #define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00287 #undef TLS_MD_KEY_EXPANSION_CONST
00288 #define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e"
00289 #undef TLS_MD_CLIENT_WRITE_KEY_CONST
00290 #define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00291 #undef TLS_MD_SERVER_WRITE_KEY_CONST
00292 #define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"
00293 #undef TLS_MD_IV_BLOCK_CONST
00294 #define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b"
00295 #undef TLS_MD_MASTER_SECRET_CONST
00296 #define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"
00297 #endif
00298
00299 #ifdef __cplusplus
00300 }
00301 #endif
00302 #endif
00303
00304
00305