1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2010 IBM Corporation |
4 | * Copyright (C) 2010 Politecnico di Torino, Italy |
5 | * TORSEC group -- https://security.polito.it |
6 | * |
7 | * Authors: |
8 | * Mimi Zohar <zohar@us.ibm.com> |
9 | * Roberto Sassu <roberto.sassu@polito.it> |
10 | */ |
11 | |
12 | #ifndef _KEYS_ENCRYPTED_TYPE_H |
13 | #define _KEYS_ENCRYPTED_TYPE_H |
14 | |
15 | #include <linux/key.h> |
16 | #include <linux/rcupdate.h> |
17 | |
18 | struct encrypted_key_payload { |
19 | struct rcu_head rcu; |
20 | char *format; /* datablob: format */ |
21 | char *master_desc; /* datablob: master key name */ |
22 | char *datalen; /* datablob: decrypted key length */ |
23 | u8 *iv; /* datablob: iv */ |
24 | u8 *encrypted_data; /* datablob: encrypted data */ |
25 | unsigned short datablob_len; /* length of datablob */ |
26 | unsigned short decrypted_datalen; /* decrypted data length */ |
27 | unsigned short payload_datalen; /* payload data length */ |
28 | unsigned short encrypted_key_format; /* encrypted key format */ |
29 | u8 *decrypted_data; /* decrypted data */ |
30 | u8 payload_data[]; /* payload data + datablob + hmac */ |
31 | }; |
32 | |
33 | extern struct key_type key_type_encrypted; |
34 | |
35 | #endif /* _KEYS_ENCRYPTED_TYPE_H */ |
36 | |