Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
dot11decrypt_user.h
Go to the documentation of this file.
1
9#ifndef _DOT11DECRYPT_USER_H
10#define _DOT11DECRYPT_USER_H
11
12/******************************************************************************/
13/* File includes */
14/* */
15#include <glib.h>
16
17#include "ws_symbol_export.h"
18
19/* */
20/* */
21/******************************************************************************/
22
23/******************************************************************************/
24/* Constant definitions */
25/* */
26/* Decryption key types */
27#define DOT11DECRYPT_KEY_TYPE_WEP 0
28#define DOT11DECRYPT_KEY_TYPE_WEP_40 1
29#define DOT11DECRYPT_KEY_TYPE_WEP_104 2
30#define DOT11DECRYPT_KEY_TYPE_WPA_PWD 3
31#define DOT11DECRYPT_KEY_TYPE_WPA_PSK 4
32#define DOT11DECRYPT_KEY_TYPE_WPA_PMK 5
33#define DOT11DECRYPT_KEY_TYPE_TK 6
34#define DOT11DECRYPT_KEY_TYPE_MSK 7
35
36#define DOT11DECRYPT_KEY_TYPE_TKIP 100
37#define DOT11DECRYPT_KEY_TYPE_CCMP 101
38#define DOT11DECRYPT_KEY_TYPE_CCMP_256 102
39#define DOT11DECRYPT_KEY_TYPE_GCMP 103
40#define DOT11DECRYPT_KEY_TYPE_GCMP_256 104
41#define DOT11DECRYPT_KEY_TYPE_UNKNOWN -1
42
43/* Decryption algorithms fields size definition (bytes) */
44#define DOT11DECRYPT_WEP_KEY_MINLEN 1
45#define DOT11DECRYPT_WEP_KEY_MAXLEN 32
46#define DOT11DECRYPT_WEP_40_KEY_LEN 5
47#define DOT11DECRYPT_WEP_104_KEY_LEN 13
48
49#define DOT11DECRYPT_WPA_PASSPHRASE_MIN_LEN 8
50#define DOT11DECRYPT_WPA_PASSPHRASE_MAX_LEN 63 /* null-terminated string, the actual length of the storage is 64 */
51#define DOT11DECRYPT_WPA_SSID_MIN_LEN 0
52#define DOT11DECRYPT_WPA_SSID_MAX_LEN 32
53#define DOT11DECRYPT_WPA_PMK_MAX_LEN 64
54#define DOT11DECRYPT_WPA_PWD_PSK_LEN 32
55#define DOT11DECRYPT_TK_MAX_LEN 32
56#define DOT11DECRYPT_MSK_MIN_LEN 64
57#define DOT11DECRYPT_MSK_MAX_LEN 128
58/* */
59/* */
60/******************************************************************************/
61
62/******************************************************************************/
63/* Macro definitions */
64/* */
65/* */
66/******************************************************************************/
67
68/******************************************************************************/
69/* Type definitions */
70/* */
74typedef struct {
75 GByteArray *key;
76 GByteArray *ssid;
77 bool tk_mld;
78 uint8_t ap_mld_mac[6];
79 uint8_t sta_mld_mac[6];
80 unsigned bits;
81 unsigned type;
83
87typedef struct _DOT11DECRYPT_KEY_ITEM {
96 uint8_t KeyType;
97
127 unsigned char WepKey[DOT11DECRYPT_WEP_KEY_MAXLEN];
132 size_t WepKeyLen;
133 } Wep;
134
143 unsigned char Psk[DOT11DECRYPT_WPA_PMK_MAX_LEN];
144 unsigned char Ptk[DOT11DECRYPT_WPA_PTK_MAX_LEN];
145 uint8_t PskLen;
146 uint8_t PtkLen;
147 uint8_t Akm;
148 uint8_t Cipher;
149 } Wpa;
150
151 } KeyData;
152
154 uint8_t Tk[DOT11DECRYPT_TK_MAX_LEN];
155 uint8_t Len;
156 bool mld;
157 uint8_t ap_mld_mac[6];
158 uint8_t sta_mld_mac[6];
159 } Tk;
160
162 uint8_t Msk[DOT11DECRYPT_MSK_MAX_LEN];
163 uint8_t Len;
164 } Msk;
165
174 char Passphrase[DOT11DECRYPT_WPA_PASSPHRASE_MAX_LEN];
185 char Ssid[DOT11DECRYPT_WPA_SSID_MAX_LEN];
189 size_t SsidLen;
190 } UserPwd;
192
207/* */
208/******************************************************************************/
209
210/******************************************************************************/
211/* Function prototype declarations */
212
234WS_DLL_PUBLIC
236parse_key_string(char* key_string, uint8_t key_type, char **error);
237
243WS_DLL_PUBLIC
244void
246
247/******************************************************************************/
248
249#endif /* _DOT11DECRYPT_USER_H */
struct _DOT11DECRYPT_KEYS_COLLECTION DOT11DECRYPT_KEYS_COLLECTION
WS_DLL_PUBLIC decryption_key_t * parse_key_string(char *key_string, uint8_t key_type, char **error)
Definition dot11decrypt.c:2879
WS_DLL_PUBLIC void free_key_string(decryption_key_t *dk)
Definition dot11decrypt.c:3195
struct _DOT11DECRYPT_KEY_ITEM DOT11DECRYPT_KEY_ITEM
char Ssid[32]
Definition dot11decrypt_user.h:185
char Passphrase[63]
Definition dot11decrypt_user.h:174
size_t PassphraseLen
Definition dot11decrypt_user.h:178
size_t SsidLen
Definition dot11decrypt_user.h:189
Definition dot11decrypt_user.h:87
uint8_t KeyType
Definition dot11decrypt_user.h:96
Definition dot11decrypt_user.h:196
size_t nKeys
Definition dot11decrypt_user.h:200
DOT11DECRYPT_KEY_ITEM Keys[256]
Definition dot11decrypt_user.h:205
Definition dot11decrypt_user.h:74
Union representing key data for various 802.11 decryption algorithms.
Definition dot11decrypt_user.h:115