1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ENCRYPTED_KEY_H
3#define __ENCRYPTED_KEY_H
4
5#define ENCRYPTED_DEBUG 0
6#if defined(CONFIG_TRUSTED_KEYS) || \
7 (defined(CONFIG_TRUSTED_KEYS_MODULE) && defined(CONFIG_ENCRYPTED_KEYS_MODULE))
8extern struct key *request_trusted_key(const char *trusted_desc,
9 const u8 **master_key, size_t *master_keylen);
10#else
11static inline struct key *request_trusted_key(const char *trusted_desc,
12 const u8 **master_key,
13 size_t *master_keylen)
14{
15 return ERR_PTR(-EOPNOTSUPP);
16}
17#endif
18
19#if ENCRYPTED_DEBUG
20static inline void dump_master_key(const u8 *master_key, size_t master_keylen)
21{
22 print_hex_dump(KERN_ERR, "master key: ", DUMP_PREFIX_NONE, 32, 1,
23 master_key, master_keylen, 0);
24}
25
26static inline void dump_decrypted_data(struct encrypted_key_payload *epayload)
27{
28 print_hex_dump(KERN_ERR, "decrypted data: ", DUMP_PREFIX_NONE, 32, 1,
29 epayload->decrypted_data,
30 epayload->decrypted_datalen, 0);
31}
32
33static inline void dump_encrypted_data(struct encrypted_key_payload *epayload,
34 unsigned int encrypted_datalen)
35{
36 print_hex_dump(KERN_ERR, "encrypted data: ", DUMP_PREFIX_NONE, 32, 1,
37 epayload->encrypted_data, encrypted_datalen, 0);
38}
39
40static inline void dump_hmac(const char *str, const u8 *digest,
41 unsigned int hmac_size)
42{
43 if (str)
44 pr_info("encrypted_key: %s", str);
45 print_hex_dump(KERN_ERR, "hmac: ", DUMP_PREFIX_NONE, 32, 1, digest,
46 hmac_size, 0);
47}
48#else
49static inline void dump_master_key(const u8 *master_key, size_t master_keylen)
50{
51}
52
53static inline void dump_decrypted_data(struct encrypted_key_payload *epayload)
54{
55}
56
57static inline void dump_encrypted_data(struct encrypted_key_payload *epayload,
58 unsigned int encrypted_datalen)
59{
60}
61
62static inline void dump_hmac(const char *str, const u8 *digest,
63 unsigned int hmac_size)
64{
65}
66#endif
67#endif
68

source code of linux/security/keys/encrypted-keys/encrypted.h