1 | /* ssl/tls1.h */ |
---|
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
---|
3 | * All rights reserved. |
---|
4 | * |
---|
5 | * This package is an SSL implementation written |
---|
6 | * by Eric Young (eay@cryptsoft.com). |
---|
7 | * The implementation was written so as to conform with Netscapes SSL. |
---|
8 | * |
---|
9 | * This library is free for commercial and non-commercial use as long as |
---|
10 | * the following conditions are aheared to. The following conditions |
---|
11 | * apply to all code found in this distribution, be it the RC4, RSA, |
---|
12 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation |
---|
13 | * included with this distribution is covered by the same copyright terms |
---|
14 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). |
---|
15 | * |
---|
16 | * Copyright remains Eric Young's, and as such any Copyright notices in |
---|
17 | * the code are not to be removed. |
---|
18 | * If this package is used in a product, Eric Young should be given attribution |
---|
19 | * as the author of the parts of the library used. |
---|
20 | * This can be in the form of a textual message at program startup or |
---|
21 | * in documentation (online or textual) provided with the package. |
---|
22 | * |
---|
23 | * Redistribution and use in source and binary forms, with or without |
---|
24 | * modification, are permitted provided that the following conditions |
---|
25 | * are met: |
---|
26 | * 1. Redistributions of source code must retain the copyright |
---|
27 | * notice, this list of conditions and the following disclaimer. |
---|
28 | * 2. Redistributions in binary form must reproduce the above copyright |
---|
29 | * notice, this list of conditions and the following disclaimer in the |
---|
30 | * documentation and/or other materials provided with the distribution. |
---|
31 | * 3. All advertising materials mentioning features or use of this software |
---|
32 | * must display the following acknowledgement: |
---|
33 | * "This product includes cryptographic software written by |
---|
34 | * Eric Young (eay@cryptsoft.com)" |
---|
35 | * The word 'cryptographic' can be left out if the rouines from the library |
---|
36 | * being used are not cryptographic related :-). |
---|
37 | * 4. If you include any Windows specific code (or a derivative thereof) from |
---|
38 | * the apps directory (application code) you must include an acknowledgement: |
---|
39 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" |
---|
40 | * |
---|
41 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND |
---|
42 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
---|
43 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
---|
44 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
---|
45 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
---|
46 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
---|
47 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
---|
48 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
---|
49 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
---|
50 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
---|
51 | * SUCH DAMAGE. |
---|
52 | * |
---|
53 | * The licence and distribution terms for any publically available version or |
---|
54 | * derivative of this code cannot be changed. i.e. this code cannot simply be |
---|
55 | * copied and put under another distribution licence |
---|
56 | * [including the GNU Public Licence.] |
---|
57 | */ |
---|
58 | /* ==================================================================== |
---|
59 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. |
---|
60 | * |
---|
61 | * Portions of the attached software ("Contribution") are developed by |
---|
62 | * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. |
---|
63 | * |
---|
64 | * The Contribution is licensed pursuant to the OpenSSL open source |
---|
65 | * license provided above. |
---|
66 | * |
---|
67 | * ECC cipher suite support in OpenSSL originally written by |
---|
68 | * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. |
---|
69 | * |
---|
70 | */ |
---|
71 | |
---|
72 | #ifndef HEADER_TLS1_H |
---|
73 | #define HEADER_TLS1_H |
---|
74 | |
---|
75 | #include <openssl/buffer.h> |
---|
76 | |
---|
77 | #ifdef __cplusplus |
---|
78 | extern "C" { |
---|
79 | #endif |
---|
80 | |
---|
81 | #define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 1 |
---|
82 | |
---|
83 | #define TLS1_VERSION 0x0301 |
---|
84 | #define TLS1_VERSION_MAJOR 0x03 |
---|
85 | #define TLS1_VERSION_MINOR 0x01 |
---|
86 | |
---|
87 | #define TLS1_AD_DECRYPTION_FAILED 21 |
---|
88 | #define TLS1_AD_RECORD_OVERFLOW 22 |
---|
89 | #define TLS1_AD_UNKNOWN_CA 48 /* fatal */ |
---|
90 | #define TLS1_AD_ACCESS_DENIED 49 /* fatal */ |
---|
91 | #define TLS1_AD_DECODE_ERROR 50 /* fatal */ |
---|
92 | #define TLS1_AD_DECRYPT_ERROR 51 |
---|
93 | #define TLS1_AD_EXPORT_RESTRICTION 60 /* fatal */ |
---|
94 | #define TLS1_AD_PROTOCOL_VERSION 70 /* fatal */ |
---|
95 | #define TLS1_AD_INSUFFICIENT_SECURITY 71 /* fatal */ |
---|
96 | #define TLS1_AD_INTERNAL_ERROR 80 /* fatal */ |
---|
97 | #define TLS1_AD_USER_CANCELLED 90 |
---|
98 | #define TLS1_AD_NO_RENEGOTIATION 100 |
---|
99 | |
---|
100 | /* Additional TLS ciphersuites from draft-ietf-tls-56-bit-ciphersuites-00.txt |
---|
101 | * (available if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see |
---|
102 | * s3_lib.c). We actually treat them like SSL 3.0 ciphers, which we probably |
---|
103 | * shouldn't. */ |
---|
104 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060 |
---|
105 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061 |
---|
106 | #define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 |
---|
107 | #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 |
---|
108 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 |
---|
109 | #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 |
---|
110 | #define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 |
---|
111 | |
---|
112 | /* AES ciphersuites from RFC3268 */ |
---|
113 | |
---|
114 | #define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F |
---|
115 | #define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 |
---|
116 | #define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 |
---|
117 | #define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 |
---|
118 | #define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 |
---|
119 | #define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 |
---|
120 | |
---|
121 | #define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 |
---|
122 | #define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 |
---|
123 | #define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 |
---|
124 | #define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 |
---|
125 | #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 |
---|
126 | #define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A |
---|
127 | |
---|
128 | /* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001). |
---|
129 | * XXX NOTE: There is a bug in the draft, cipher numbers 4B, and 4C |
---|
130 | * are defined twice so we define ECDH_ECDSA_EXPORT cipher |
---|
131 | * suites to use 5B and 5C instead (this may change with future |
---|
132 | * updates to the IETF draft). |
---|
133 | */ |
---|
134 | /* draft-ietf-tls-ecc-03.txt (June 2003) gives a changed list of |
---|
135 | * ciphersuites, but does not define numbers for all of them |
---|
136 | * because of possible conflicts with other Internet Drafts; |
---|
137 | * most numbers are still subject to change. */ |
---|
138 | #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x03000047 |
---|
139 | #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x03000048 |
---|
140 | #define TLS1_CK_ECDH_ECDSA_WITH_DES_CBC_SHA 0x03000049 |
---|
141 | #define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300004A |
---|
142 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300004B |
---|
143 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300004C |
---|
144 | #define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA 0x0300005B |
---|
145 | #define TLS1_CK_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA 0x0300005C |
---|
146 | |
---|
147 | #define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300004D |
---|
148 | #define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300004E |
---|
149 | #define TLS1_CK_ECDH_RSA_WITH_DES_CBC_SHA 0x0300004F |
---|
150 | #define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x03000050 |
---|
151 | #define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x03000051 |
---|
152 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x03000052 |
---|
153 | #define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_40_SHA 0x03000053 |
---|
154 | #define TLS1_CK_ECDH_RSA_EXPORT_WITH_RC4_56_SHA 0x03000054 |
---|
155 | |
---|
156 | #define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x03000055 |
---|
157 | #define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x03000056 |
---|
158 | #define TLS1_CK_ECDH_anon_WITH_DES_CBC_SHA 0x03000057 |
---|
159 | #define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x03000058 |
---|
160 | #define TLS1_CK_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA 0x03000059 |
---|
161 | #define TLS1_CK_ECDH_anon_EXPORT_WITH_RC4_40_SHA 0x0300005A |
---|
162 | |
---|
163 | /* XXX: ECC ciphersuites offering forward secrecy are not yet specified |
---|
164 | * in the ECC/TLS draft but our code allows them to be implemented |
---|
165 | * very easily. To add such a cipher suite, one needs to add two constant |
---|
166 | * definitions to this file and a new structure in s3_lib.c. We illustrate |
---|
167 | * the process for the made-up ciphers ECDHE-ECDSA-AES128-SHA and |
---|
168 | * ECDHE-RSA-AES128-SHA. |
---|
169 | */ |
---|
170 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x03000077 |
---|
171 | #define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x03000078 |
---|
172 | |
---|
173 | |
---|
174 | /* XXX |
---|
175 | * Inconsistency alert: |
---|
176 | * The OpenSSL names of ciphers with ephemeral DH here include the string |
---|
177 | * "DHE", while elsewhere it has always been "EDH". |
---|
178 | * (The alias for the list of all such ciphers also is "EDH".) |
---|
179 | * The specifications speak of "EDH"; maybe we should allow both forms |
---|
180 | * for everything. */ |
---|
181 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" |
---|
182 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" |
---|
183 | #define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" |
---|
184 | #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" |
---|
185 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" |
---|
186 | #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" |
---|
187 | #define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" |
---|
188 | |
---|
189 | /* AES ciphersuites from RFC3268 */ |
---|
190 | #define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" |
---|
191 | #define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" |
---|
192 | #define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" |
---|
193 | #define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" |
---|
194 | #define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" |
---|
195 | #define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" |
---|
196 | |
---|
197 | #define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" |
---|
198 | #define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" |
---|
199 | #define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" |
---|
200 | #define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" |
---|
201 | #define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" |
---|
202 | #define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" |
---|
203 | |
---|
204 | /* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */ |
---|
205 | #define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" |
---|
206 | #define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" |
---|
207 | #define TLS1_TXT_ECDH_ECDSA_WITH_DES_CBC_SHA "ECDH-ECDSA-DES-CBC-SHA" |
---|
208 | #define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" |
---|
209 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" |
---|
210 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" |
---|
211 | #define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_40_SHA "EXP-ECDH-ECDSA-RC4-40-SHA" |
---|
212 | #define TLS1_TXT_ECDH_ECDSA_EXPORT_WITH_RC4_56_SHA "EXP-ECDH-ECDSA-RC4-56-SHA" |
---|
213 | |
---|
214 | #define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" |
---|
215 | #define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" |
---|
216 | #define TLS1_TXT_ECDH_RSA_WITH_DES_CBC_SHA "ECDH-RSA-DES-CBC-SHA" |
---|
217 | #define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" |
---|
218 | #define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" |
---|
219 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" |
---|
220 | #define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_40_SHA "EXP-ECDH-RSA-RC4-40-SHA" |
---|
221 | #define TLS1_TXT_ECDH_RSA_EXPORT_WITH_RC4_56_SHA "EXP-ECDH-RSA-RC4-56-SHA" |
---|
222 | |
---|
223 | #define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" |
---|
224 | #define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" |
---|
225 | #define TLS1_TXT_ECDH_anon_WITH_DES_CBC_SHA "AECDH-DES-CBC-SHA" |
---|
226 | #define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" |
---|
227 | #define TLS1_TXT_ECDH_anon_EXPORT_WITH_DES_40_CBC_SHA "EXP-AECDH-DES-40-CBC-SHA" |
---|
228 | #define TLS1_TXT_ECDH_anon_EXPORT_WITH_RC4_40_SHA "EXP-AECDH-RC4-40-SHA" |
---|
229 | |
---|
230 | /* XXX: Made-up ECC cipher suites offering forward secrecy. This is for |
---|
231 | * illustration only. |
---|
232 | */ |
---|
233 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" |
---|
234 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" |
---|
235 | |
---|
236 | |
---|
237 | #define TLS_CT_RSA_SIGN 1 |
---|
238 | #define TLS_CT_DSS_SIGN 2 |
---|
239 | #define TLS_CT_RSA_FIXED_DH 3 |
---|
240 | #define TLS_CT_DSS_FIXED_DH 4 |
---|
241 | #define TLS_CT_ECDSA_SIGN 5 |
---|
242 | #define TLS_CT_RSA_FIXED_ECDH 6 |
---|
243 | #define TLS_CT_ECDSA_FIXED_ECDH 7 |
---|
244 | #define TLS_CT_NUMBER 7 |
---|
245 | |
---|
246 | #define TLS1_FINISH_MAC_LENGTH 12 |
---|
247 | |
---|
248 | #define TLS_MD_MAX_CONST_SIZE 20 |
---|
249 | #define TLS_MD_CLIENT_FINISH_CONST "client finished" |
---|
250 | #define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 |
---|
251 | #define TLS_MD_SERVER_FINISH_CONST "server finished" |
---|
252 | #define TLS_MD_SERVER_FINISH_CONST_SIZE 15 |
---|
253 | #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" |
---|
254 | #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 |
---|
255 | #define TLS_MD_KEY_EXPANSION_CONST "key expansion" |
---|
256 | #define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 |
---|
257 | #define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" |
---|
258 | #define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 |
---|
259 | #define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" |
---|
260 | #define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 |
---|
261 | #define TLS_MD_IV_BLOCK_CONST "IV block" |
---|
262 | #define TLS_MD_IV_BLOCK_CONST_SIZE 8 |
---|
263 | #define TLS_MD_MASTER_SECRET_CONST "master secret" |
---|
264 | #define TLS_MD_MASTER_SECRET_CONST_SIZE 13 |
---|
265 | |
---|
266 | #ifdef CHARSET_EBCDIC |
---|
267 | #undef TLS_MD_CLIENT_FINISH_CONST |
---|
268 | #define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" /*client finished*/ |
---|
269 | #undef TLS_MD_SERVER_FINISH_CONST |
---|
270 | #define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" /*server finished*/ |
---|
271 | #undef TLS_MD_SERVER_WRITE_KEY_CONST |
---|
272 | #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*/ |
---|
273 | #undef TLS_MD_KEY_EXPANSION_CONST |
---|
274 | #define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" /*key expansion*/ |
---|
275 | #undef TLS_MD_CLIENT_WRITE_KEY_CONST |
---|
276 | #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*/ |
---|
277 | #undef TLS_MD_SERVER_WRITE_KEY_CONST |
---|
278 | #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*/ |
---|
279 | #undef TLS_MD_IV_BLOCK_CONST |
---|
280 | #define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" /*IV block*/ |
---|
281 | #undef TLS_MD_MASTER_SECRET_CONST |
---|
282 | #define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" /*master secret*/ |
---|
283 | #endif |
---|
284 | |
---|
285 | #ifdef __cplusplus |
---|
286 | } |
---|
287 | #endif |
---|
288 | #endif |
---|
289 | |
---|
290 | |
---|
291 | |
---|