GNU Linux-libre 4.9.284-gnu1
[releases.git] / crypto / asymmetric_keys / Kconfig
1 menuconfig ASYMMETRIC_KEY_TYPE
2         bool "Asymmetric (public-key cryptographic) key type"
3         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
10 if ASYMMETRIC_KEY_TYPE
11
12 config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
13         tristate "Asymmetric public-key crypto algorithm subtype"
14         select MPILIB
15         select CRYPTO_HASH_INFO
16         select CRYPTO_AKCIPHER
17         select CRYPTO_HASH
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 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
30           This option provides support for parsing X.509 format blobs for key
31           data and provides the ability to instantiate a crypto key from a
32           public key packet found inside the certificate.
33
34 config PKCS7_MESSAGE_PARSER
35         tristate "PKCS#7 message parser"
36         depends on X509_CERTIFICATE_PARSER
37         select CRYPTO_HASH
38         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
44 config PKCS7_TEST_KEY
45         tristate "PKCS#7 testing key type"
46         depends on SYSTEM_DATA_VERIFICATION
47         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
56 config SIGNED_PE_FILE_VERIFICATION
57         bool "Support for PE file signature verification"
58         depends on PKCS7_MESSAGE_PARSER=y
59         depends on SYSTEM_DATA_VERIFICATION
60         select CRYPTO_HASH
61         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
67 endif # ASYMMETRIC_KEY_TYPE