.. | .. |
---|
51 | 51 | #define TLS_1_2_VERSION_MINOR 0x3 |
---|
52 | 52 | #define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2) |
---|
53 | 53 | |
---|
| 54 | +#define TLS_1_3_VERSION_MAJOR 0x3 |
---|
| 55 | +#define TLS_1_3_VERSION_MINOR 0x4 |
---|
| 56 | +#define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3) |
---|
| 57 | + |
---|
54 | 58 | /* Supported ciphers */ |
---|
55 | 59 | #define TLS_CIPHER_AES_GCM_128 51 |
---|
56 | 60 | #define TLS_CIPHER_AES_GCM_128_IV_SIZE 8 |
---|
.. | .. |
---|
58 | 62 | #define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4 |
---|
59 | 63 | #define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16 |
---|
60 | 64 | #define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8 |
---|
| 65 | + |
---|
| 66 | +#define TLS_CIPHER_AES_GCM_256 52 |
---|
| 67 | +#define TLS_CIPHER_AES_GCM_256_IV_SIZE 8 |
---|
| 68 | +#define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32 |
---|
| 69 | +#define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4 |
---|
| 70 | +#define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16 |
---|
| 71 | +#define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8 |
---|
| 72 | + |
---|
| 73 | +#define TLS_CIPHER_AES_CCM_128 53 |
---|
| 74 | +#define TLS_CIPHER_AES_CCM_128_IV_SIZE 8 |
---|
| 75 | +#define TLS_CIPHER_AES_CCM_128_KEY_SIZE 16 |
---|
| 76 | +#define TLS_CIPHER_AES_CCM_128_SALT_SIZE 4 |
---|
| 77 | +#define TLS_CIPHER_AES_CCM_128_TAG_SIZE 16 |
---|
| 78 | +#define TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE 8 |
---|
61 | 79 | |
---|
62 | 80 | #define TLS_SET_RECORD_TYPE 1 |
---|
63 | 81 | #define TLS_GET_RECORD_TYPE 2 |
---|
.. | .. |
---|
75 | 93 | unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE]; |
---|
76 | 94 | }; |
---|
77 | 95 | |
---|
| 96 | +struct tls12_crypto_info_aes_gcm_256 { |
---|
| 97 | + struct tls_crypto_info info; |
---|
| 98 | + unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE]; |
---|
| 99 | + unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE]; |
---|
| 100 | + unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE]; |
---|
| 101 | + unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE]; |
---|
| 102 | +}; |
---|
| 103 | + |
---|
| 104 | +struct tls12_crypto_info_aes_ccm_128 { |
---|
| 105 | + struct tls_crypto_info info; |
---|
| 106 | + unsigned char iv[TLS_CIPHER_AES_CCM_128_IV_SIZE]; |
---|
| 107 | + unsigned char key[TLS_CIPHER_AES_CCM_128_KEY_SIZE]; |
---|
| 108 | + unsigned char salt[TLS_CIPHER_AES_CCM_128_SALT_SIZE]; |
---|
| 109 | + unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE]; |
---|
| 110 | +}; |
---|
| 111 | + |
---|
| 112 | +enum { |
---|
| 113 | + TLS_INFO_UNSPEC, |
---|
| 114 | + TLS_INFO_VERSION, |
---|
| 115 | + TLS_INFO_CIPHER, |
---|
| 116 | + TLS_INFO_TXCONF, |
---|
| 117 | + TLS_INFO_RXCONF, |
---|
| 118 | + __TLS_INFO_MAX, |
---|
| 119 | +}; |
---|
| 120 | +#define TLS_INFO_MAX (__TLS_INFO_MAX - 1) |
---|
| 121 | + |
---|
| 122 | +#define TLS_CONF_BASE 1 |
---|
| 123 | +#define TLS_CONF_SW 2 |
---|
| 124 | +#define TLS_CONF_HW 3 |
---|
| 125 | +#define TLS_CONF_HW_RECORD 4 |
---|
| 126 | + |
---|
78 | 127 | #endif /* _UAPI_LINUX_TLS_H */ |
---|