epoc32/include/stdapis/openssl/tls1.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
     1.1 --- a/epoc32/include/stdapis/openssl/tls1.h	Tue Nov 24 13:55:44 2009 +0000
     1.2 +++ b/epoc32/include/stdapis/openssl/tls1.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -1,1 +1,345 @@
     1.4 -tls1.h
     1.5 +/* ssl/tls1.h */
     1.6 +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
     1.7 + * All rights reserved.
     1.8 + *
     1.9 + * This package is an SSL implementation written
    1.10 + * by Eric Young (eay@cryptsoft.com).
    1.11 + * The implementation was written so as to conform with Netscapes SSL.
    1.12 + * 
    1.13 + * This library is free for commercial and non-commercial use as long as
    1.14 + * the following conditions are aheared to.  The following conditions
    1.15 + * apply to all code found in this distribution, be it the RC4, RSA,
    1.16 + * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    1.17 + * included with this distribution is covered by the same copyright terms
    1.18 + * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    1.19 + * 
    1.20 + * Copyright remains Eric Young's, and as such any Copyright notices in
    1.21 + * the code are not to be removed.
    1.22 + * If this package is used in a product, Eric Young should be given attribution
    1.23 + * as the author of the parts of the library used.
    1.24 + * This can be in the form of a textual message at program startup or
    1.25 + * in documentation (online or textual) provided with the package.
    1.26 + * 
    1.27 + * Redistribution and use in source and binary forms, with or without
    1.28 + * modification, are permitted provided that the following conditions
    1.29 + * are met:
    1.30 + * 1. Redistributions of source code must retain the copyright
    1.31 + *    notice, this list of conditions and the following disclaimer.
    1.32 + * 2. Redistributions in binary form must reproduce the above copyright
    1.33 + *    notice, this list of conditions and the following disclaimer in the
    1.34 + *    documentation and/or other materials provided with the distribution.
    1.35 + * 3. All advertising materials mentioning features or use of this software
    1.36 + *    must display the following acknowledgement:
    1.37 + *    "This product includes cryptographic software written by
    1.38 + *     Eric Young (eay@cryptsoft.com)"
    1.39 + *    The word 'cryptographic' can be left out if the rouines from the library
    1.40 + *    being used are not cryptographic related :-).
    1.41 + * 4. If you include any Windows specific code (or a derivative thereof) from 
    1.42 + *    the apps directory (application code) you must include an acknowledgement:
    1.43 + *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    1.44 + * 
    1.45 + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    1.46 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1.47 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    1.48 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    1.49 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    1.50 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    1.51 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    1.52 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    1.53 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    1.54 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    1.55 + * SUCH DAMAGE.
    1.56 + * 
    1.57 + * The licence and distribution terms for any publically available version or
    1.58 + * derivative of this code cannot be changed.  i.e. this code cannot simply be
    1.59 + * copied and put under another distribution licence
    1.60 + * [including the GNU Public Licence.]
    1.61 + */
    1.62 +/* ====================================================================
    1.63 + * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
    1.64 + *
    1.65 + * Portions of the attached software ("Contribution") are developed by 
    1.66 + * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project.
    1.67 + *
    1.68 + * The Contribution is licensed pursuant to the OpenSSL open source
    1.69 + * license provided above.
    1.70 + *
    1.71 + * ECC cipher suite support in OpenSSL originally written by
    1.72 + * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories.
    1.73 + *
    1.74 + */
    1.75 +
    1.76 +#ifndef HEADER_TLS1_H 
    1.77 +#define HEADER_TLS1_H 
    1.78 +
    1.79 +#include <openssl/buffer.h>
    1.80 +
    1.81 +#ifdef  __cplusplus
    1.82 +extern "C" {
    1.83 +#endif
    1.84 +
    1.85 +#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES	1
    1.86 +
    1.87 +#define TLS1_VERSION			0x0301
    1.88 +#define TLS1_VERSION_MAJOR		0x03
    1.89 +#define TLS1_VERSION_MINOR		0x01
    1.90 +
    1.91 +#define TLS1_AD_DECRYPTION_FAILED	21
    1.92 +#define TLS1_AD_RECORD_OVERFLOW		22
    1.93 +#define TLS1_AD_UNKNOWN_CA		48	/* fatal */
    1.94 +#define TLS1_AD_ACCESS_DENIED		49	/* fatal */
    1.95 +#define TLS1_AD_DECODE_ERROR		50	/* fatal */
    1.96 +#define TLS1_AD_DECRYPT_ERROR		51
    1.97 +#define TLS1_AD_EXPORT_RESTRICTION	60	/* fatal */
    1.98 +#define TLS1_AD_PROTOCOL_VERSION	70	/* fatal */
    1.99 +#define TLS1_AD_INSUFFICIENT_SECURITY	71	/* fatal */
   1.100 +#define TLS1_AD_INTERNAL_ERROR		80	/* fatal */
   1.101 +#define TLS1_AD_USER_CANCELLED		90
   1.102 +#define TLS1_AD_NO_RENEGOTIATION	100
   1.103 +/* codes 110-114 are from RFC3546 */
   1.104 +#define TLS1_AD_UNSUPPORTED_EXTENSION	110
   1.105 +#define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111
   1.106 +#define TLS1_AD_UNRECOGNIZED_NAME 	112
   1.107 +#define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113
   1.108 +#define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114
   1.109 +#define TLS1_AD_UNKNOWN_PSK_IDENTITY	115	/* fatal */
   1.110 +
   1.111 +/* ExtensionType values from RFC 3546 */
   1.112 +#define TLSEXT_TYPE_server_name			0
   1.113 +#define TLSEXT_TYPE_max_fragment_length		1
   1.114 +#define TLSEXT_TYPE_client_certificate_url	2
   1.115 +#define TLSEXT_TYPE_trusted_ca_keys		3
   1.116 +#define TLSEXT_TYPE_truncated_hmac		4
   1.117 +#define TLSEXT_TYPE_status_request		5
   1.118 +#define TLSEXT_TYPE_elliptic_curves		10
   1.119 +#define TLSEXT_TYPE_ec_point_formats		11
   1.120 +#define TLSEXT_TYPE_session_ticket		35
   1.121 +
   1.122 +/* NameType value from RFC 3546 */
   1.123 +#define TLSEXT_NAMETYPE_host_name 0
   1.124 +
   1.125 +#ifndef OPENSSL_NO_TLSEXT
   1.126 +
   1.127 +#define TLSEXT_MAXLEN_host_name 255
   1.128 +
   1.129 +const char *SSL_get_servername(const SSL *s, const int type) ;
   1.130 +int SSL_get_servername_type(const SSL *s) ;
   1.131 +
   1.132 +#define SSL_set_tlsext_host_name(s,name) \
   1.133 +SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name)
   1.134 +
   1.135 +#define SSL_set_tlsext_debug_callback(ssl, cb) \
   1.136 +SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb)
   1.137 +
   1.138 +#define SSL_set_tlsext_debug_arg(ssl, arg) \
   1.139 +SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg)
   1.140 +
   1.141 +#define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \
   1.142 +SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb)
   1.143 +
   1.144 +#define SSL_TLSEXT_ERR_OK 0    
   1.145 +#define SSL_TLSEXT_ERR_ALERT_WARNING 1  
   1.146 +#define SSL_TLSEXT_ERR_ALERT_FATAL 2 
   1.147 +#define SSL_TLSEXT_ERR_NOACK 3
   1.148 +
   1.149 +#define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \
   1.150 +SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg)
   1.151 +
   1.152 +#define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \
   1.153 +	SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLXEXT_TICKET_KEYS,(keylen),(keys))
   1.154 +#define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \
   1.155 +	SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLXEXT_TICKET_KEYS,(keylen),(keys))
   1.156 +#endif
   1.157 +
   1.158 +/* Additional TLS ciphersuites from draft-ietf-tls-56-bit-ciphersuites-00.txt
   1.159 + * (available if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see
   1.160 + * s3_lib.c).  We actually treat them like SSL 3.0 ciphers, which we probably
   1.161 + * shouldn't. */
   1.162 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5		0x03000060
   1.163 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5	0x03000061
   1.164 +#define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA		0x03000062
   1.165 +#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA	0x03000063
   1.166 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA		0x03000064
   1.167 +#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA	0x03000065
   1.168 +#define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA		0x03000066
   1.169 +
   1.170 +/* AES ciphersuites from RFC3268 */
   1.171 +
   1.172 +#define TLS1_CK_RSA_WITH_AES_128_SHA			0x0300002F
   1.173 +#define TLS1_CK_DH_DSS_WITH_AES_128_SHA			0x03000030
   1.174 +#define TLS1_CK_DH_RSA_WITH_AES_128_SHA			0x03000031
   1.175 +#define TLS1_CK_DHE_DSS_WITH_AES_128_SHA		0x03000032
   1.176 +#define TLS1_CK_DHE_RSA_WITH_AES_128_SHA		0x03000033
   1.177 +#define TLS1_CK_ADH_WITH_AES_128_SHA			0x03000034
   1.178 +
   1.179 +#define TLS1_CK_RSA_WITH_AES_256_SHA			0x03000035
   1.180 +#define TLS1_CK_DH_DSS_WITH_AES_256_SHA			0x03000036
   1.181 +#define TLS1_CK_DH_RSA_WITH_AES_256_SHA			0x03000037
   1.182 +#define TLS1_CK_DHE_DSS_WITH_AES_256_SHA		0x03000038
   1.183 +#define TLS1_CK_DHE_RSA_WITH_AES_256_SHA		0x03000039
   1.184 +#define TLS1_CK_ADH_WITH_AES_256_SHA			0x0300003A
   1.185 +
   1.186 +/* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001).
   1.187 + * XXX NOTE: There is a bug in the draft, cipher numbers 4B, and 4C
   1.188 + * are defined twice so we define ECDH_ECDSA_EXPORT cipher
   1.189 + * suites to use 5B and 5C instead (this may change with future
   1.190 + * updates to the IETF draft).
   1.191 + */
   1.192 +/* draft-ietf-tls-ecc-03.txt (June 2003) gives a changed list of
   1.193 + * ciphersuites, but does not define numbers for all of them
   1.194 + * because of possible conflicts with other Internet Drafts;
   1.195 + * most numbers are still subject to change. */
   1.196 +#define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA                0x03000047
   1.197 +#define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA             0x03000048
   1.198 +#define TLS1_CK_ECDH_ECDSA_WITH_DES_CBC_SHA             0x03000049
   1.199 +#define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA        0x0300004A
   1.200 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA         0x0300004B
   1.201 +#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA         0x0300004C
   1.202 +#define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA       0x0300005B
   1.203 +#define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA       0x0300005C
   1.204 +
   1.205 +#define TLS1_CK_ECDH_RSA_WITH_NULL_SHA                  0x0300004D
   1.206 +#define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA               0x0300004E
   1.207 +#define TLS1_CK_ECDH_RSA_WITH_DES_CBC_SHA               0x0300004F
   1.208 +#define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA          0x03000050
   1.209 +#define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA           0x03000051
   1.210 +#define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA           0x03000052
   1.211 +#define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_40_SHA         0x03000053
   1.212 +#define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_56_SHA         0x03000054
   1.213 +
   1.214 +#define TLS1_CK_ECDH_anon_WITH_NULL_SHA                 0x03000055
   1.215 +#define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA              0x03000056
   1.216 +#define TLS1_CK_ECDH_anon_WITH_DES_CBC_SHA              0x03000057
   1.217 +#define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA         0x03000058
   1.218 +#define TLS1_CK_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA    0x03000059
   1.219 +#define TLS1_CK_ECDH_anon_EXPORT_WITH_RC4_40_SHA        0x0300005A
   1.220 +
   1.221 +/* XXX: ECC ciphersuites offering forward secrecy are not yet specified
   1.222 + * in the ECC/TLS draft but our code allows them to be implemented
   1.223 + * very easily. To add such a cipher suite, one needs to add two constant
   1.224 + * definitions to this file and a new structure in s3_lib.c. We illustrate
   1.225 + * the process for the made-up ciphers ECDHE-ECDSA-AES128-SHA and
   1.226 + * ECDHE-RSA-AES128-SHA.
   1.227 + */
   1.228 +#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA        0x03000077
   1.229 +#define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA          0x03000078
   1.230 +
   1.231 +
   1.232 +/* XXX
   1.233 + * Inconsistency alert:
   1.234 + * The OpenSSL names of ciphers with ephemeral DH here include the string
   1.235 + * "DHE", while elsewhere it has always been "EDH".
   1.236 + * (The alias for the list of all such ciphers also is "EDH".)
   1.237 + * The specifications speak of "EDH"; maybe we should allow both forms
   1.238 + * for everything. */
   1.239 +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5		"EXP1024-RC4-MD5"
   1.240 +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5	"EXP1024-RC2-CBC-MD5"
   1.241 +#define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA	"EXP1024-DES-CBC-SHA"
   1.242 +#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA	"EXP1024-DHE-DSS-DES-CBC-SHA"
   1.243 +#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA		"EXP1024-RC4-SHA"
   1.244 +#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA	"EXP1024-DHE-DSS-RC4-SHA"
   1.245 +#define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA		"DHE-DSS-RC4-SHA"
   1.246 +
   1.247 +/* AES ciphersuites from RFC3268 */
   1.248 +#define TLS1_TXT_RSA_WITH_AES_128_SHA			"AES128-SHA"
   1.249 +#define TLS1_TXT_DH_DSS_WITH_AES_128_SHA		"DH-DSS-AES128-SHA"
   1.250 +#define TLS1_TXT_DH_RSA_WITH_AES_128_SHA		"DH-RSA-AES128-SHA"
   1.251 +#define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA		"DHE-DSS-AES128-SHA"
   1.252 +#define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA		"DHE-RSA-AES128-SHA"
   1.253 +#define TLS1_TXT_ADH_WITH_AES_128_SHA			"ADH-AES128-SHA"
   1.254 +
   1.255 +#define TLS1_TXT_RSA_WITH_AES_256_SHA			"AES256-SHA"
   1.256 +#define TLS1_TXT_DH_DSS_WITH_AES_256_SHA		"DH-DSS-AES256-SHA"
   1.257 +#define TLS1_TXT_DH_RSA_WITH_AES_256_SHA		"DH-RSA-AES256-SHA"
   1.258 +#define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA		"DHE-DSS-AES256-SHA"
   1.259 +#define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA		"DHE-RSA-AES256-SHA"
   1.260 +#define TLS1_TXT_ADH_WITH_AES_256_SHA			"ADH-AES256-SHA"
   1.261 +
   1.262 +/* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */
   1.263 +#define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA               "ECDH-ECDSA-NULL-SHA"
   1.264 +#define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA            "ECDH-ECDSA-RC4-SHA"
   1.265 +#define TLS1_TXT_ECDH_ECDSA_WITH_DES_CBC_SHA            "ECDH-ECDSA-DES-CBC-SHA"
   1.266 +#define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA       "ECDH-ECDSA-DES-CBC3-SHA"
   1.267 +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA        "ECDH-ECDSA-AES128-SHA"
   1.268 +#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA        "ECDH-ECDSA-AES256-SHA"
   1.269 +#define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA      "EXP-ECDH-ECDSA-RC4-40-SHA"
   1.270 +#define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA      "EXP-ECDH-ECDSA-RC4-56-SHA"
   1.271 +
   1.272 +#define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA                 "ECDH-RSA-NULL-SHA"
   1.273 +#define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA              "ECDH-RSA-RC4-SHA"
   1.274 +#define TLS1_TXT_ECDH_RSA_WITH_DES_CBC_SHA              "ECDH-RSA-DES-CBC-SHA"
   1.275 +#define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA         "ECDH-RSA-DES-CBC3-SHA"
   1.276 +#define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA          "ECDH-RSA-AES128-SHA"
   1.277 +#define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA          "ECDH-RSA-AES256-SHA"
   1.278 +#define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_40_SHA        "EXP-ECDH-RSA-RC4-40-SHA"
   1.279 +#define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_56_SHA        "EXP-ECDH-RSA-RC4-56-SHA"
   1.280 +
   1.281 +#define TLS1_TXT_ECDH_anon_WITH_NULL_SHA                "AECDH-NULL-SHA"
   1.282 +#define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA             "AECDH-RC4-SHA"
   1.283 +#define TLS1_TXT_ECDH_anon_WITH_DES_CBC_SHA             "AECDH-DES-CBC-SHA"
   1.284 +#define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA        "AECDH-DES-CBC3-SHA"
   1.285 +#define TLS1_TXT_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA   "EXP-AECDH-DES-40-CBC-SHA"
   1.286 +#define TLS1_TXT_ECDH_anon_EXPORT_WITH_RC4_40_SHA       "EXP-AECDH-RC4-40-SHA"
   1.287 +
   1.288 +/* XXX: Made-up ECC cipher suites offering forward secrecy. This is for 
   1.289 + * illustration only. 
   1.290 + */
   1.291 +#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA       "ECDHE-ECDSA-AES128-SHA"
   1.292 +#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA         "ECDHE-RSA-AES128-SHA"
   1.293 +
   1.294 +
   1.295 +#define TLS_CT_RSA_SIGN			1
   1.296 +#define TLS_CT_DSS_SIGN			2
   1.297 +#define TLS_CT_RSA_FIXED_DH		3
   1.298 +#define TLS_CT_DSS_FIXED_DH		4
   1.299 +#define TLS_CT_ECDSA_SIGN		5
   1.300 +#define TLS_CT_RSA_FIXED_ECDH		6
   1.301 +#define TLS_CT_ECDSA_FIXED_ECDH 	7
   1.302 +#define TLS_CT_NUMBER			7
   1.303 +
   1.304 +#define TLS1_FINISH_MAC_LENGTH		12
   1.305 +
   1.306 +#define TLS_MD_MAX_CONST_SIZE			20
   1.307 +#define TLS_MD_CLIENT_FINISH_CONST		"client finished"
   1.308 +#define TLS_MD_CLIENT_FINISH_CONST_SIZE		15
   1.309 +#define TLS_MD_SERVER_FINISH_CONST		"server finished"
   1.310 +#define TLS_MD_SERVER_FINISH_CONST_SIZE		15
   1.311 +#define TLS_MD_SERVER_WRITE_KEY_CONST		"server write key"
   1.312 +#define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE	16
   1.313 +#define TLS_MD_KEY_EXPANSION_CONST		"key expansion"
   1.314 +#define TLS_MD_KEY_EXPANSION_CONST_SIZE		13
   1.315 +#define TLS_MD_CLIENT_WRITE_KEY_CONST		"client write key"
   1.316 +#define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE	16
   1.317 +#define TLS_MD_SERVER_WRITE_KEY_CONST		"server write key"
   1.318 +#define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE	16
   1.319 +#define TLS_MD_IV_BLOCK_CONST			"IV block"
   1.320 +#define TLS_MD_IV_BLOCK_CONST_SIZE		8
   1.321 +#define TLS_MD_MASTER_SECRET_CONST		"master secret"
   1.322 +#define TLS_MD_MASTER_SECRET_CONST_SIZE		13
   1.323 +
   1.324 +#ifdef CHARSET_EBCDIC
   1.325 +#undef TLS_MD_CLIENT_FINISH_CONST
   1.326 +#define TLS_MD_CLIENT_FINISH_CONST    "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64"  /*client finished*/
   1.327 +#undef TLS_MD_SERVER_FINISH_CONST
   1.328 +#define TLS_MD_SERVER_FINISH_CONST    "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64"  /*server finished*/
   1.329 +#undef TLS_MD_SERVER_WRITE_KEY_CONST
   1.330 +#define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"  /*server write key*/
   1.331 +#undef TLS_MD_KEY_EXPANSION_CONST
   1.332 +#define TLS_MD_KEY_EXPANSION_CONST    "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e"  /*key expansion*/
   1.333 +#undef TLS_MD_CLIENT_WRITE_KEY_CONST
   1.334 +#define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"  /*client write key*/
   1.335 +#undef TLS_MD_SERVER_WRITE_KEY_CONST
   1.336 +#define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79"  /*server write key*/
   1.337 +#undef TLS_MD_IV_BLOCK_CONST
   1.338 +#define TLS_MD_IV_BLOCK_CONST         "\x49\x56\x20\x62\x6c\x6f\x63\x6b"  /*IV block*/
   1.339 +#undef TLS_MD_MASTER_SECRET_CONST
   1.340 +#define TLS_MD_MASTER_SECRET_CONST    "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74"  /*master secret*/
   1.341 +#endif
   1.342 +
   1.343 +#ifdef  __cplusplus
   1.344 +}
   1.345 +#endif
   1.346 +#endif
   1.347 +
   1.348 +
   1.349 +