Loading...
1# SPDX-License-Identifier: GPL-2.0
2menuconfig 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
11if ASYMMETRIC_KEY_TYPE
12
13config 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 select CRYPTO_HASH
19 help
20 This option provides support for asymmetric public key type handling.
21 If signature generation and/or verification are to be used,
22 appropriate hash algorithms (such as SHA-1) must be available.
23 ENOPKG will be reported if the requisite algorithm is unavailable.
24
25config ASYMMETRIC_TPM_KEY_SUBTYPE
26 tristate "Asymmetric TPM backed private key subtype"
27 depends on TCG_TPM
28 depends on TRUSTED_KEYS
29 select CRYPTO_HMAC
30 select CRYPTO_SHA1
31 select CRYPTO_HASH_INFO
32 help
33 This option provides support for TPM backed private key type handling.
34 Operations such as sign, verify, encrypt, decrypt are performed by
35 the TPM after the private key is loaded.
36
37config X509_CERTIFICATE_PARSER
38 tristate "X.509 certificate parser"
39 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
40 select ASN1
41 select OID_REGISTRY
42 help
43 This option provides support for parsing X.509 format blobs for key
44 data and provides the ability to instantiate a crypto key from a
45 public key packet found inside the certificate.
46
47config PKCS8_PRIVATE_KEY_PARSER
48 tristate "PKCS#8 private key parser"
49 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
50 select ASN1
51 select OID_REGISTRY
52 help
53 This option provides support for parsing PKCS#8 format blobs for
54 private key data and provides the ability to instantiate a crypto key
55 from that data.
56
57config TPM_KEY_PARSER
58 tristate "TPM private key parser"
59 depends on ASYMMETRIC_TPM_KEY_SUBTYPE
60 select ASN1
61 help
62 This option provides support for parsing TPM format blobs for
63 private key data and provides the ability to instantiate a crypto key
64 from that data.
65
66config PKCS7_MESSAGE_PARSER
67 tristate "PKCS#7 message parser"
68 depends on X509_CERTIFICATE_PARSER
69 select CRYPTO_HASH
70 select ASN1
71 select OID_REGISTRY
72 help
73 This option provides support for parsing PKCS#7 format messages for
74 signature data and provides the ability to verify the signature.
75
76config PKCS7_TEST_KEY
77 tristate "PKCS#7 testing key type"
78 depends on SYSTEM_DATA_VERIFICATION
79 help
80 This option provides a type of key that can be loaded up from a
81 PKCS#7 message - provided the message is signed by a trusted key. If
82 it is, the PKCS#7 wrapper is discarded and reading the key returns
83 just the payload. If it isn't, adding the key will fail with an
84 error.
85
86 This is intended for testing the PKCS#7 parser.
87
88config SIGNED_PE_FILE_VERIFICATION
89 bool "Support for PE file signature verification"
90 depends on PKCS7_MESSAGE_PARSER=y
91 depends on SYSTEM_DATA_VERIFICATION
92 select CRYPTO_HASH
93 select ASN1
94 select OID_REGISTRY
95 help
96 This option provides support for verifying the signature(s) on a
97 signed PE binary.
98
99endif # ASYMMETRIC_KEY_TYPE
1menuconfig ASYMMETRIC_KEY_TYPE
2 tristate "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
10if ASYMMETRIC_KEY_TYPE
11
12config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
13 tristate "Asymmetric public-key crypto algorithm subtype"
14 select MPILIB
15 select CRYPTO_HASH_INFO
16 help
17 This option provides support for asymmetric public key type handling.
18 If signature generation and/or verification are to be used,
19 appropriate hash algorithms (such as SHA-1) must be available.
20 ENOPKG will be reported if the requisite algorithm is unavailable.
21
22config X509_CERTIFICATE_PARSER
23 tristate "X.509 certificate parser"
24 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
25 select ASN1
26 select OID_REGISTRY
27 help
28 This option provides support for parsing X.509 format blobs for key
29 data and provides the ability to instantiate a crypto key from a
30 public key packet found inside the certificate.
31
32config PKCS7_MESSAGE_PARSER
33 tristate "PKCS#7 message parser"
34 depends on X509_CERTIFICATE_PARSER
35 select ASN1
36 select OID_REGISTRY
37 help
38 This option provides support for parsing PKCS#7 format messages for
39 signature data and provides the ability to verify the signature.
40
41config PKCS7_TEST_KEY
42 tristate "PKCS#7 testing key type"
43 depends on PKCS7_MESSAGE_PARSER
44 select SYSTEM_TRUSTED_KEYRING
45 help
46 This option provides a type of key that can be loaded up from a
47 PKCS#7 message - provided the message is signed by a trusted key. If
48 it is, the PKCS#7 wrapper is discarded and reading the key returns
49 just the payload. If it isn't, adding the key will fail with an
50 error.
51
52 This is intended for testing the PKCS#7 parser.
53
54config SIGNED_PE_FILE_VERIFICATION
55 bool "Support for PE file signature verification"
56 depends on PKCS7_MESSAGE_PARSER=y
57 select ASN1
58 select OID_REGISTRY
59 help
60 This option provides support for verifying the signature(s) on a
61 signed PE binary.
62
63endif # ASYMMETRIC_KEY_TYPE