| # SPDX-License-Identifier: GPL-2.0 | 
 | menu "Certificates for signature checking" | 
 |  | 
 | config MODULE_SIG_KEY | 
 | 	string "File name or PKCS#11 URI of module signing key" | 
 | 	default "certs/signing_key.pem" | 
 | 	depends on MODULE_SIG || (IMA_APPRAISE_MODSIG && MODULES) | 
 | 	help | 
 |          Provide the file name of a private key/certificate in PEM format, | 
 |          or a PKCS#11 URI according to RFC7512. The file should contain, or | 
 |          the URI should identify, both the certificate and its corresponding | 
 |          private key. | 
 |  | 
 |          If this option is unchanged from its default "certs/signing_key.pem", | 
 |          then the kernel will automatically generate the private key and | 
 |          certificate as described in Documentation/admin-guide/module-signing.rst | 
 |  | 
 | config SYSTEM_TRUSTED_KEYRING | 
 | 	bool "Provide system-wide ring of trusted keys" | 
 | 	depends on KEYS | 
 | 	depends on ASYMMETRIC_KEY_TYPE | 
 | 	help | 
 | 	  Provide a system keyring to which trusted keys can be added.  Keys in | 
 | 	  the keyring are considered to be trusted.  Keys may be added at will | 
 | 	  by the kernel from compiled-in data and from hardware key stores, but | 
 | 	  userspace may only add extra keys if those keys can be verified by | 
 | 	  keys already in the keyring. | 
 |  | 
 | 	  Keys in this keyring are used by module signature checking. | 
 |  | 
 | config SYSTEM_TRUSTED_KEYS | 
 | 	string "Additional X.509 keys for default system keyring" | 
 | 	depends on SYSTEM_TRUSTED_KEYRING | 
 | 	help | 
 | 	  If set, this option should be the filename of a PEM-formatted file | 
 | 	  containing trusted X.509 certificates to be included in the default | 
 | 	  system keyring. Any certificate used for module signing is implicitly | 
 | 	  also trusted. | 
 |  | 
 | 	  NOTE: If you previously provided keys for the system keyring in the | 
 | 	  form of DER-encoded *.x509 files in the top-level build directory, | 
 | 	  those are no longer used. You will need to set this option instead. | 
 |  | 
 | config SYSTEM_EXTRA_CERTIFICATE | 
 | 	bool "Reserve area for inserting a certificate without recompiling" | 
 | 	depends on SYSTEM_TRUSTED_KEYRING | 
 | 	help | 
 | 	  If set, space for an extra certificate will be reserved in the kernel | 
 | 	  image. This allows introducing a trusted certificate to the default | 
 | 	  system keyring without recompiling the kernel. | 
 |  | 
 | config SYSTEM_EXTRA_CERTIFICATE_SIZE | 
 | 	int "Number of bytes to reserve for the extra certificate" | 
 | 	depends on SYSTEM_EXTRA_CERTIFICATE | 
 | 	default 4096 | 
 | 	help | 
 | 	  This is the number of bytes reserved in the kernel image for a | 
 | 	  certificate to be inserted. | 
 |  | 
 | config SECONDARY_TRUSTED_KEYRING | 
 | 	bool "Provide a keyring to which extra trustable keys may be added" | 
 | 	depends on SYSTEM_TRUSTED_KEYRING | 
 | 	help | 
 | 	  If set, provide a keyring to which extra keys may be added, provided | 
 | 	  those keys are not blacklisted and are vouched for by a key built | 
 | 	  into the kernel or already in the secondary trusted keyring. | 
 |  | 
 | config SYSTEM_BLACKLIST_KEYRING | 
 | 	bool "Provide system-wide ring of blacklisted keys" | 
 | 	depends on KEYS | 
 | 	help | 
 | 	  Provide a system keyring to which blacklisted keys can be added. | 
 | 	  Keys in the keyring are considered entirely untrusted.  Keys in this | 
 | 	  keyring are used by the module signature checking to reject loading | 
 | 	  of modules signed with a blacklisted key. | 
 |  | 
 | config SYSTEM_BLACKLIST_HASH_LIST | 
 | 	string "Hashes to be preloaded into the system blacklist keyring" | 
 | 	depends on SYSTEM_BLACKLIST_KEYRING | 
 | 	help | 
 | 	  If set, this option should be the filename of a list of hashes in the | 
 | 	  form "<hash>", "<hash>", ... .  This will be included into a C | 
 | 	  wrapper to incorporate the list into the kernel.  Each <hash> should | 
 | 	  be a string of hex digits. | 
 |  | 
 | config SYSTEM_REVOCATION_LIST | 
 | 	bool "Provide system-wide ring of revocation certificates" | 
 | 	depends on SYSTEM_BLACKLIST_KEYRING | 
 | 	depends on PKCS7_MESSAGE_PARSER=y | 
 | 	help | 
 | 	  If set, this allows revocation certificates to be stored in the | 
 | 	  blacklist keyring and implements a hook whereby a PKCS#7 message can | 
 | 	  be checked to see if it matches such a certificate. | 
 |  | 
 | config SYSTEM_REVOCATION_KEYS | 
 | 	string "X.509 certificates to be preloaded into the system blacklist keyring" | 
 | 	depends on SYSTEM_REVOCATION_LIST | 
 | 	help | 
 | 	  If set, this option should be the filename of a PEM-formatted file | 
 | 	  containing X.509 certificates to be included in the default blacklist | 
 | 	  keyring. | 
 |  | 
 | endmenu |