aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2015-08-13 22:08:39 -0400
committerJames Morris <james.l.morris@oracle.com>2015-08-13 22:08:39 -0400
commite4fc02f24c223ee8d668bf2d39bb8a2dbd61b40e (patch)
tree8ad26407ec8b8898f6ff5f396ff628919a56c624 /init
parentaa62efff65ba572814511efa68cb158fe9e960c4 (diff)
parente9a5e8cc55286941503f36c5b7485a5aa923b3f1 (diff)
Merge tag 'modsign-pkcs7-20150812-3' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig59
1 files changed, 50 insertions, 9 deletions
diff --git a/init/Kconfig b/init/Kconfig
index af09b4fb43d2..5d1a703663ad 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1752,6 +1752,37 @@ config SYSTEM_TRUSTED_KEYRING
1752 1752
1753 Keys in this keyring are used by module signature checking. 1753 Keys in this keyring are used by module signature checking.
1754 1754
1755config SYSTEM_TRUSTED_KEYS
1756 string "Additional X.509 keys for default system keyring"
1757 depends on SYSTEM_TRUSTED_KEYRING
1758 help
1759 If set, this option should be the filename of a PEM-formatted file
1760 containing trusted X.509 certificates to be included in the default
1761 system keyring. Any certificate used for module signing is implicitly
1762 also trusted.
1763
1764 NOTE: If you previously provided keys for the system keyring in the
1765 form of DER-encoded *.x509 files in the top-level build directory,
1766 those are no longer used. You will need to set this option instead.
1767
1768config SYSTEM_DATA_VERIFICATION
1769 def_bool n
1770 select SYSTEM_TRUSTED_KEYRING
1771 select KEYS
1772 select CRYPTO
1773 select ASYMMETRIC_KEY_TYPE
1774 select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
1775 select PUBLIC_KEY_ALGO_RSA
1776 select ASN1
1777 select OID_REGISTRY
1778 select X509_CERTIFICATE_PARSER
1779 select PKCS7_MESSAGE_PARSER
1780 help
1781 Provide PKCS#7 message verification using the contents of the system
1782 trusted keyring to provide public keys. This then can be used for
1783 module verification, kexec image verification and firmware blob
1784 verification.
1785
1755config PROFILING 1786config PROFILING
1756 bool "Profiling support" 1787 bool "Profiling support"
1757 help 1788 help
@@ -1860,20 +1891,16 @@ config MODULE_SRCVERSION_ALL
1860config MODULE_SIG 1891config MODULE_SIG
1861 bool "Module signature verification" 1892 bool "Module signature verification"
1862 depends on MODULES 1893 depends on MODULES
1863 select SYSTEM_TRUSTED_KEYRING 1894 select SYSTEM_DATA_VERIFICATION
1864 select KEYS
1865 select CRYPTO
1866 select ASYMMETRIC_KEY_TYPE
1867 select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
1868 select PUBLIC_KEY_ALGO_RSA
1869 select ASN1
1870 select OID_REGISTRY
1871 select X509_CERTIFICATE_PARSER
1872 help 1895 help
1873 Check modules for valid signatures upon load: the signature 1896 Check modules for valid signatures upon load: the signature
1874 is simply appended to the module. For more information see 1897 is simply appended to the module. For more information see
1875 Documentation/module-signing.txt. 1898 Documentation/module-signing.txt.
1876 1899
1900 Note that this option adds the OpenSSL development packages as a
1901 kernel build dependency so that the signing tool can use its crypto
1902 library.
1903
1877 !!!WARNING!!! If you enable this option, you MUST make sure that the 1904 !!!WARNING!!! If you enable this option, you MUST make sure that the
1878 module DOES NOT get stripped after being signed. This includes the 1905 module DOES NOT get stripped after being signed. This includes the
1879 debuginfo strip done by some packagers (such as rpmbuild) and 1906 debuginfo strip done by some packagers (such as rpmbuild) and
@@ -1938,6 +1965,20 @@ config MODULE_SIG_HASH
1938 default "sha384" if MODULE_SIG_SHA384 1965 default "sha384" if MODULE_SIG_SHA384
1939 default "sha512" if MODULE_SIG_SHA512 1966 default "sha512" if MODULE_SIG_SHA512
1940 1967
1968config MODULE_SIG_KEY
1969 string "File name or PKCS#11 URI of module signing key"
1970 default "signing_key.pem"
1971 depends on MODULE_SIG
1972 help
1973 Provide the file name of a private key/certificate in PEM format,
1974 or a PKCS#11 URI according to RFC7512. The file should contain, or
1975 the URI should identify, both the certificate and its corresponding
1976 private key.
1977
1978 If this option is unchanged from its default "signing_key.pem",
1979 then the kernel will automatically generate the private key and
1980 certificate as described in Documentation/module-signing.txt
1981
1941config MODULE_COMPRESS 1982config MODULE_COMPRESS
1942 bool "Compress modules on installation" 1983 bool "Compress modules on installation"
1943 depends on MODULES 1984 depends on MODULES