linux-stable/certs
David Howells 734114f878 KEYS: Add a system blacklist keyring
Add the following:

 (1) A new system keyring that is used to store information about
     blacklisted certificates and signatures.

 (2) A new key type (called 'blacklist') that is used to store a
     blacklisted hash in its description as a hex string.  The key accepts
     no payload.

 (3) The ability to configure a list of blacklisted hashes into the kernel
     at build time.  This is done by setting
     CONFIG_SYSTEM_BLACKLIST_HASH_LIST to the filename of a list of hashes
     that are in the form:

	"<hash>", "<hash>", ..., "<hash>"

     where each <hash> is a hex string representation of the hash and must
     include all necessary leading zeros to pad the hash to the right size.

The above are enabled with CONFIG_SYSTEM_BLACKLIST_KEYRING.

Once the kernel is booted, the blacklist keyring can be listed:

	root@andromeda ~]# keyctl show %:.blacklist
	Keyring
	 723359729 ---lswrv      0     0  keyring: .blacklist
	 676257228 ---lswrv      0     0   \_ blacklist: 123412341234c55c1dcc601ab8e172917706aa32fb5eaf826813547fdf02dd46

The blacklist cannot currently be modified by userspace, but it will be
possible to load it, for example, from the UEFI blacklist database.

A later commit will make it possible to load blacklisted asymmetric keys in
here too.

Signed-off-by: David Howells <dhowells@redhat.com>
2017-04-03 16:07:24 +01:00
..
.gitignore certs: add .gitignore to stop git nagging about x509_certificate_list 2015-10-21 15:18:35 +01:00
Kconfig KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
Makefile KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
blacklist.c KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
blacklist.h KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
blacklist_hashes.c KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
blacklist_nohashes.c KEYS: Add a system blacklist keyring 2017-04-03 16:07:24 +01:00
system_certificates.S certs: Fix misaligned data in extra certificate list 2016-02-29 14:44:30 +00:00
system_keyring.c certs: Add a secondary system keyring that can be added to dynamically 2016-04-11 22:48:09 +01:00