blob: c58df93826bdaac50ddf5f39b0c218a170ba0e5b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
#pragma once
#define S2N_TLS_SECRET_LEN 48
#define S2N_TLS_RANDOM_DATA_LEN 32
#define S2N_TLS_SEQUENCE_NUM_LEN 8
#define S2N_TLS_CIPHER_SUITE_LEN 2
#define S2N_SSLv2_CIPHER_SUITE_LEN 3
#define S2N_TLS_FINISHED_LEN 12
#define S2N_SSL_FINISHED_LEN 36
#define S2N_TLS_MAX_IV_LEN 16
/* From RFC 5246 6.2.3.3 */
#define S2N_TLS12_AAD_LEN 13
#define S2N_TLS_MAX_AAD_LEN S2N_TLS12_AAD_LEN
#define S2N_TLS_GCM_FIXED_IV_LEN 4
#define S2N_TLS_GCM_EXPLICIT_IV_LEN 8
#define S2N_TLS_GCM_IV_LEN (S2N_TLS_GCM_FIXED_IV_LEN + S2N_TLS_GCM_EXPLICIT_IV_LEN)
#define S2N_TLS_GCM_TAG_LEN 16
#define S2N_TLS_AES_128_GCM_KEY_LEN 16
#define S2N_TLS_AES_256_GCM_KEY_LEN 32
/* TLS 1.3 uses only implicit IVs - RFC 8446 5.3 */
#define S2N_TLS13_AAD_LEN 5
#define S2N_TLS13_RECORD_IV_LEN 0
#define S2N_TLS13_FIXED_IV_LEN 12
/* From RFC 7905 */
#define S2N_TLS_CHACHA20_POLY1305_FIXED_IV_LEN 12
#define S2N_TLS_CHACHA20_POLY1305_EXPLICIT_IV_LEN 0
#define S2N_TLS_CHACHA20_POLY1305_IV_LEN 12
#define S2N_TLS_CHACHA20_POLY1305_KEY_LEN 32
#define S2N_TLS_CHACHA20_POLY1305_TAG_LEN 16
/* RFC 5246 7.4.1.2 */
#define S2N_TLS_SESSION_ID_MAX_LEN 32
|