blob: 13f3de68b479f6eee07de1016231304363486e6f [file] [log] [blame]
David Howells964f3b32012-09-13 15:17:21 +01001menuconfig ASYMMETRIC_KEY_TYPE
David Howells99716b72016-04-06 16:14:26 +01002 bool "Asymmetric (public-key cryptographic) key type"
David Howells964f3b32012-09-13 15:17:21 +01003 depends on KEYS
4 help
5 This option provides support for a key type that holds the data for
6 the asymmetric keys used for public key cryptographic operations such
7 as encryption, decryption, signature generation and signature
8 verification.
9
10if ASYMMETRIC_KEY_TYPE
11
David Howellsa9681bf2012-09-21 23:24:55 +010012config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
13 tristate "Asymmetric public-key crypto algorithm subtype"
14 select MPILIB
Dmitry Kasatkin3fe78ca2013-05-06 15:58:15 +030015 select CRYPTO_HASH_INFO
Arnd Bergmannbad6a182016-05-18 16:55:56 +020016 select CRYPTO_AKCIPHER
Arnd Bergmann796f4582019-06-18 14:13:47 +020017 select CRYPTO_HASH
David Howellsa9681bf2012-09-21 23:24:55 +010018 help
19 This option provides support for asymmetric public key type handling.
20 If signature generation and/or verification are to be used,
21 appropriate hash algorithms (such as SHA-1) must be available.
22 ENOPKG will be reported if the requisite algorithm is unavailable.
David Howells964f3b32012-09-13 15:17:21 +010023
David Howellsc26fd692012-09-24 17:11:48 +010024config X509_CERTIFICATE_PARSER
25 tristate "X.509 certificate parser"
26 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
27 select ASN1
28 select OID_REGISTRY
29 help
David Howells45206982014-07-08 17:21:01 +010030 This option provides support for parsing X.509 format blobs for key
David Howellsc26fd692012-09-24 17:11:48 +010031 data and provides the ability to instantiate a crypto key from a
32 public key packet found inside the certificate.
33
David Howells2e3fadb2014-07-01 16:40:19 +010034config PKCS7_MESSAGE_PARSER
35 tristate "PKCS#7 message parser"
36 depends on X509_CERTIFICATE_PARSER
Arnd Bergmann796f4582019-06-18 14:13:47 +020037 select CRYPTO_HASH
David Howells2e3fadb2014-07-01 16:40:19 +010038 select ASN1
39 select OID_REGISTRY
40 help
41 This option provides support for parsing PKCS#7 format messages for
42 signature data and provides the ability to verify the signature.
43
David Howells22d01af2014-07-01 19:06:18 +010044config PKCS7_TEST_KEY
45 tristate "PKCS#7 testing key type"
David Howellse68503b2016-04-06 16:14:24 +010046 depends on SYSTEM_DATA_VERIFICATION
David Howells22d01af2014-07-01 19:06:18 +010047 help
48 This option provides a type of key that can be loaded up from a
49 PKCS#7 message - provided the message is signed by a trusted key. If
50 it is, the PKCS#7 wrapper is discarded and reading the key returns
51 just the payload. If it isn't, adding the key will fail with an
52 error.
53
54 This is intended for testing the PKCS#7 parser.
55
David Howells26d11642014-07-01 16:02:51 +010056config SIGNED_PE_FILE_VERIFICATION
57 bool "Support for PE file signature verification"
58 depends on PKCS7_MESSAGE_PARSER=y
David Howellse68503b2016-04-06 16:14:24 +010059 depends on SYSTEM_DATA_VERIFICATION
Arnd Bergmann796f4582019-06-18 14:13:47 +020060 select CRYPTO_HASH
David Howells26d11642014-07-01 16:02:51 +010061 select ASN1
62 select OID_REGISTRY
63 help
64 This option provides support for verifying the signature(s) on a
65 signed PE binary.
66
David Howells964f3b32012-09-13 15:17:21 +010067endif # ASYMMETRIC_KEY_TYPE