Wireshark  4.3.0
The Wireshark network protocol analyzer
opcua_keyset.h
1 /******************************************************************************
2 ** Copyright (C) 2006-2023 ascolab GmbH. All Rights Reserved.
3 ** Web: http://www.ascolab.com
4 **
5 ** SPDX-License-Identifier: GPL-2.0-or-later
6 **
7 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
8 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
9 **
10 ** Project: OpcUa Wireshark Plugin
11 **
12 ** Description: OpcUa Protocol Decoder.
13 **
14 ** Author: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com>
15 ******************************************************************************/
16 
17 #ifndef __OPCUA_KEYSET_H__
18 #define __OPCUA_KEYSET_H__
19 
20 #include <stdint.h>
21 
23 struct ua_keyset {
24  uint64_t id;
25  unsigned char client_iv[16];
26  unsigned char server_iv[16];
27  unsigned char client_key[32];
28  unsigned char server_key[32];
29  unsigned int client_key_len;
30  unsigned int server_key_len;
31  unsigned int client_sig_len;
32  unsigned int server_sig_len;
33 };
34 
35 int ua_keysets_init(void);
36 int ua_keysets_clear(void);
37 
48 static inline uint64_t ua_keyset_id(uint32_t securechannel_id, uint32_t token_id)
49 {
50  return ((uint64_t)securechannel_id << 32) | token_id;
51 }
52 
53 struct ua_keyset *ua_keysets_add(void);
54 void ua_keysets_sort(void);
55 struct ua_keyset *ua_keysets_lookup(uint64_t id);
56 void ua_keysets_dump(void);
57 
58 #endif /* __OPCUA_KEYSET_H__ */
59 
Definition: opcua_keyset.h:23
unsigned char server_iv[16]
Definition: opcua_keyset.h:26
unsigned int server_sig_len
Definition: opcua_keyset.h:32
unsigned int client_sig_len
Definition: opcua_keyset.h:31
unsigned char client_iv[16]
Definition: opcua_keyset.h:25
unsigned char client_key[32]
Definition: opcua_keyset.h:27
unsigned int server_key_len
Definition: opcua_keyset.h:30
unsigned char server_key[32]
Definition: opcua_keyset.h:28
unsigned int client_key_len
Definition: opcua_keyset.h:29