blob: be70ca6c85d31e89329b032ce7445aa1c2b85f32 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
David Howells964f3b32012-09-13 15:17:21 +01002menuconfig ASYMMETRIC_KEY_TYPE
David Howells99716b72016-04-06 16:14:26 +01003 bool "Asymmetric (public-key cryptographic) key type"
David Howells964f3b32012-09-13 15:17:21 +01004 depends on KEYS
5 help
6 This option provides support for a key type that holds the data for
7 the asymmetric keys used for public key cryptographic operations such
8 as encryption, decryption, signature generation and signature
9 verification.
10
11if ASYMMETRIC_KEY_TYPE
12
David Howellsa9681bf2012-09-21 23:24:55 +010013config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
14 tristate "Asymmetric public-key crypto algorithm subtype"
15 select MPILIB
Dmitry Kasatkin3fe78ca2013-05-06 15:58:15 +030016 select CRYPTO_HASH_INFO
Arnd Bergmannbad6a182016-05-18 16:55:56 +020017 select CRYPTO_AKCIPHER
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
Denis Kenzior903be6b2018-10-09 17:48:02 +010024config ASYMMETRIC_TPM_KEY_SUBTYPE
25 tristate "Asymmetric TPM backed private key subtype"
26 depends on TCG_TPM
Denis Kenziore1ea9f82018-10-09 17:48:41 +010027 depends on TRUSTED_KEYS
Denis Kenzior903be6b2018-10-09 17:48:02 +010028 select CRYPTO_HMAC
29 select CRYPTO_SHA1
30 select CRYPTO_HASH_INFO
31 help
32 This option provides support for TPM backed private key type handling.
33 Operations such as sign, verify, encrypt, decrypt are performed by
34 the TPM after the private key is loaded.
35
David Howellsc26fd692012-09-24 17:11:48 +010036config X509_CERTIFICATE_PARSER
37 tristate "X.509 certificate parser"
38 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
39 select ASN1
40 select OID_REGISTRY
41 help
David Howells45206982014-07-08 17:21:01 +010042 This option provides support for parsing X.509 format blobs for key
David Howellsc26fd692012-09-24 17:11:48 +010043 data and provides the ability to instantiate a crypto key from a
44 public key packet found inside the certificate.
45
David Howells3c58b232018-10-09 17:47:46 +010046config PKCS8_PRIVATE_KEY_PARSER
47 tristate "PKCS#8 private key parser"
48 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
49 select ASN1
50 select OID_REGISTRY
51 help
52 This option provides support for parsing PKCS#8 format blobs for
53 private key data and provides the ability to instantiate a crypto key
54 from that data.
55
Denis Kenziord5e72742018-10-09 17:48:17 +010056config TPM_KEY_PARSER
57 tristate "TPM private key parser"
58 depends on ASYMMETRIC_TPM_KEY_SUBTYPE
59 select ASN1
60 help
61 This option provides support for parsing TPM format blobs for
62 private key data and provides the ability to instantiate a crypto key
63 from that data.
64
David Howells2e3fadb2014-07-01 16:40:19 +010065config PKCS7_MESSAGE_PARSER
66 tristate "PKCS#7 message parser"
67 depends on X509_CERTIFICATE_PARSER
68 select ASN1
69 select OID_REGISTRY
70 help
71 This option provides support for parsing PKCS#7 format messages for
72 signature data and provides the ability to verify the signature.
73
David Howells22d01af2014-07-01 19:06:18 +010074config PKCS7_TEST_KEY
75 tristate "PKCS#7 testing key type"
David Howellse68503b2016-04-06 16:14:24 +010076 depends on SYSTEM_DATA_VERIFICATION
David Howells22d01af2014-07-01 19:06:18 +010077 help
78 This option provides a type of key that can be loaded up from a
79 PKCS#7 message - provided the message is signed by a trusted key. If
80 it is, the PKCS#7 wrapper is discarded and reading the key returns
81 just the payload. If it isn't, adding the key will fail with an
82 error.
83
84 This is intended for testing the PKCS#7 parser.
85
David Howells26d1164b2014-07-01 16:02:51 +010086config SIGNED_PE_FILE_VERIFICATION
87 bool "Support for PE file signature verification"
88 depends on PKCS7_MESSAGE_PARSER=y
David Howellse68503b2016-04-06 16:14:24 +010089 depends on SYSTEM_DATA_VERIFICATION
David Howells26d1164b2014-07-01 16:02:51 +010090 select ASN1
91 select OID_REGISTRY
92 help
93 This option provides support for verifying the signature(s) on a
94 signed PE binary.
95
David Howells964f3b32012-09-13 15:17:21 +010096endif # ASYMMETRIC_KEY_TYPE