KEYS: Generalise system_verify_data() to provide access to internal content
[cascardo/linux.git] / include / keys / system_keyring.h
1 /* System keyring containing trusted public keys.
2  *
3  * Copyright (C) 2013 Red Hat, Inc. All Rights Reserved.
4  * Written by David Howells (dhowells@redhat.com)
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public Licence
8  * as published by the Free Software Foundation; either version
9  * 2 of the Licence, or (at your option) any later version.
10  */
11
12 #ifndef _KEYS_SYSTEM_KEYRING_H
13 #define _KEYS_SYSTEM_KEYRING_H
14
15 #ifdef CONFIG_SYSTEM_TRUSTED_KEYRING
16
17 #include <linux/key.h>
18 #include <linux/verification.h>
19 #include <crypto/public_key.h>
20
21 extern struct key *system_trusted_keyring;
22 static inline struct key *get_system_trusted_keyring(void)
23 {
24         return system_trusted_keyring;
25 }
26 #else
27 static inline struct key *get_system_trusted_keyring(void)
28 {
29         return NULL;
30 }
31 #endif
32
33 #ifdef CONFIG_IMA_MOK_KEYRING
34 extern struct key *ima_mok_keyring;
35 extern struct key *ima_blacklist_keyring;
36
37 static inline struct key *get_ima_mok_keyring(void)
38 {
39         return ima_mok_keyring;
40 }
41 static inline struct key *get_ima_blacklist_keyring(void)
42 {
43         return ima_blacklist_keyring;
44 }
45 #else
46 static inline struct key *get_ima_mok_keyring(void)
47 {
48         return NULL;
49 }
50 static inline struct key *get_ima_blacklist_keyring(void)
51 {
52         return NULL;
53 }
54 #endif /* CONFIG_IMA_MOK_KEYRING */
55
56
57 #endif /* _KEYS_SYSTEM_KEYRING_H */