Merge tag 'v5.2-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6
[linux-2.6-microblaze.git] / crypto / asymmetric_keys / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 menuconfig ASYMMETRIC_KEY_TYPE
3         bool "Asymmetric (public-key cryptographic) key type"
4         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
11 if ASYMMETRIC_KEY_TYPE
12
13 config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
14         tristate "Asymmetric public-key crypto algorithm subtype"
15         select MPILIB
16         select CRYPTO_HASH_INFO
17         select CRYPTO_AKCIPHER
18         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.
23
24 config ASYMMETRIC_TPM_KEY_SUBTYPE
25         tristate "Asymmetric TPM backed private key subtype"
26         depends on TCG_TPM
27         depends on TRUSTED_KEYS
28         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
36 config 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
42           This option provides support for parsing X.509 format blobs for key
43           data and provides the ability to instantiate a crypto key from a
44           public key packet found inside the certificate.
45
46 config 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
56 config 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
65 config 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
74 config PKCS7_TEST_KEY
75         tristate "PKCS#7 testing key type"
76         depends on SYSTEM_DATA_VERIFICATION
77         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
86 config SIGNED_PE_FILE_VERIFICATION
87         bool "Support for PE file signature verification"
88         depends on PKCS7_MESSAGE_PARSER=y
89         depends on SYSTEM_DATA_VERIFICATION
90         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
96 endif # ASYMMETRIC_KEY_TYPE