OLD | NEW |
1 /* Private header file of libSSL. | 1 /* Private header file of libSSL. |
2 * Various and sundry protocol constants. DON'T CHANGE THESE. These | 2 * Various and sundry protocol constants. DON'T CHANGE THESE. These |
3 * values are defined by the SSL 3.0 protocol specification. | 3 * values are defined by the SSL 3.0 protocol specification. |
4 * | 4 * |
5 * This Source Code Form is subject to the terms of the Mozilla Public | 5 * This Source Code Form is subject to the terms of the Mozilla Public |
6 * License, v. 2.0. If a copy of the MPL was not distributed with this | 6 * License, v. 2.0. If a copy of the MPL was not distributed with this |
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
8 /* $Id$ */ | 8 /* $Id$ */ |
9 | 9 |
10 #ifndef __ssl3proto_h_ | 10 #ifndef __ssl3proto_h_ |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 SECItem Ys; | 205 SECItem Ys; |
206 } SSL3ServerDHParams; | 206 } SSL3ServerDHParams; |
207 | 207 |
208 typedef struct { | 208 typedef struct { |
209 union { | 209 union { |
210 SSL3ServerDHParams dh; | 210 SSL3ServerDHParams dh; |
211 SSL3ServerRSAParams rsa; | 211 SSL3ServerRSAParams rsa; |
212 } u; | 212 } u; |
213 } SSL3ServerParams; | 213 } SSL3ServerParams; |
214 | 214 |
| 215 /* This enum reflects HashAlgorithm enum from |
| 216 * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 |
| 217 * |
| 218 * When updating, be sure to also update ssl3_TLSHashFunctionToOID */ |
| 219 enum { |
| 220 tls_hash_md5 = 1, |
| 221 tls_hash_sha1 = 2, |
| 222 tls_hash_sha224 = 3, |
| 223 tls_hash_sha256 = 4, |
| 224 tls_hash_sha384 = 5, |
| 225 tls_hash_sha512 = 6 |
| 226 }; |
| 227 |
| 228 /* This enum reflects SignatureAlgorithm enum from |
| 229 * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 */ |
| 230 typedef enum { |
| 231 tls_sig_rsa = 1, |
| 232 tls_sig_dsa = 2, |
| 233 tls_sig_ecdsa = 3 |
| 234 } TLS12SignatureAlgorithm; |
| 235 |
215 typedef struct { | 236 typedef struct { |
| 237 SECOidTag hashAlg; |
| 238 TLS12SignatureAlgorithm sigAlg; |
| 239 } SSL3SignatureAndHashAlgorithm; |
| 240 |
| 241 /* SSL3HashesIndividually contains a combination MD5/SHA1 hash, as used in TLS |
| 242 * prior to 1.2. */ |
| 243 struct SSL3HashesIndividually { |
216 uint8 md5[16]; | 244 uint8 md5[16]; |
217 uint8 sha[20]; | 245 uint8 sha[20]; |
| 246 }; |
| 247 |
| 248 /* SSL3Hashes contains an SSL hash value. The digest is contained in |u.raw| |
| 249 * which, if |hashAlg==SEC_OID_UNKNOWN| is also a SSL3HashesIndividually |
| 250 * struct. */ |
| 251 typedef struct { |
| 252 unsigned int len; |
| 253 SECOidTag hashAlg; |
| 254 union { |
| 255 PRUint8 raw[32]; |
| 256 struct SSL3HashesIndividually s; |
| 257 } u; |
218 } SSL3Hashes; | 258 } SSL3Hashes; |
219 | 259 |
220 typedef struct { | 260 typedef struct { |
221 union { | 261 union { |
222 SSL3Opaque anonymous; | 262 SSL3Opaque anonymous; |
223 SSL3Hashes certified; | 263 SSL3Hashes certified; |
224 } u; | 264 } u; |
225 } SSL3ServerKeyExchange; | 265 } SSL3ServerKeyExchange; |
226 | 266 |
227 typedef enum { | 267 typedef enum { |
228 ct_RSA_sign = 1, | 268 ct_RSA_sign = 1, |
229 ct_DSS_sign = 2, | 269 ct_DSS_sign = 2, |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 unsigned char *iv; | 355 unsigned char *iv; |
316 SECItem encrypted_state; | 356 SECItem encrypted_state; |
317 unsigned char *mac; | 357 unsigned char *mac; |
318 } EncryptedSessionTicket; | 358 } EncryptedSessionTicket; |
319 | 359 |
320 #define TLS_EX_SESS_TICKET_MAC_LENGTH 32 | 360 #define TLS_EX_SESS_TICKET_MAC_LENGTH 32 |
321 | 361 |
322 #define TLS_STE_NO_SERVER_NAME -1 | 362 #define TLS_STE_NO_SERVER_NAME -1 |
323 | 363 |
324 #endif /* __ssl3proto_h_ */ | 364 #endif /* __ssl3proto_h_ */ |
OLD | NEW |