Wireshark
4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
epan
dissectors
packet-mka.h
1
/* packet-mka.h
2
* Routines for MKA packet dissection
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef __PACKET_MKA_H__
8
#define __PACKET_MKA_H__
9
10
#include <
epan/packet.h
>
11
12
#define AES128_KEY_LEN 16
13
#define AES256_KEY_LEN 32
14
15
#define MACSEC_AN_COUNT 4
16
17
#define MKA_CAK_AES_GCM_128_LEN (AES128_KEY_LEN)
18
#define MKA_CAK_AES_GCM_256_LEN (AES256_KEY_LEN)
19
#define MKA_MAX_CAK_LEN (MKA_CAK_AES_GCM_256_LEN)
20
21
#define MKA_MAX_KEK_LEN (MKA_CAK_AES_GCM_256_LEN)
22
#define MKA_MAX_ICK_LEN (MKA_CAK_AES_GCM_256_LEN)
23
#define MKA_MAX_SAK_LEN (MKA_CAK_AES_GCM_256_LEN)
24
25
typedef
struct
_mka_ckn_info_key
{
26
/* The KEK derived from the CAK */
27
unsigned
char
kek[MKA_MAX_KEK_LEN];
28
unsigned
kek_len;
29
30
/* The ICK derived from the CAK */
31
unsigned
char
ick[MKA_MAX_ICK_LEN];
32
unsigned
ick_len;
33
34
/* the SAKs unwrapped by the KEK for each AN
35
* index is the AN to which the SAK belongs */
36
unsigned
char
saks[MACSEC_AN_COUNT][MKA_MAX_SAK_LEN];
37
38
}
mka_ckn_info_key_t
;
39
40
typedef
struct
_mka_ckn_info
{
41
/* CKN: a byte array of 0 to 32 bytes. */
42
unsigned
char
*ckn;
43
unsigned
ckn_len;
44
45
/* CAK: a byte array of 0 to 32 bytes. */
46
unsigned
char
*cak;
47
unsigned
cak_len;
48
49
/* Identifier for the name of the entry. */
50
unsigned
char
*name;
51
52
/* KEK/ICK/SAK data for this entry */
53
mka_ckn_info_key_t
key;
54
}
mka_ckn_info_t
;
55
56
/* access to the table data from macsec dissector */
57
const
mka_ckn_info_t
* get_mka_ckn_table(
void
);
58
unsigned
get_mka_ckn_table_count(
void
);
59
60
#endif
packet.h
_mka_ckn_info_key
Definition
packet-mka.h:25
_mka_ckn_info
Definition
packet-mka.h:40
Generated by
1.9.8