1 # SPDX-License-Identifier: GPL-2.0
2 menuconfig ASYMMETRIC_KEY_TYPE
3 bool "Asymmetric (public-key cryptographic) key type"
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
11 if ASYMMETRIC_KEY_TYPE
13 config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
14 tristate "Asymmetric public-key crypto algorithm subtype"
16 select CRYPTO_HASH_INFO
17 select CRYPTO_AKCIPHER
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.
24 config ASYMMETRIC_TPM_KEY_SUBTYPE
25 tristate "Asymmetric TPM backed private key subtype"
27 depends on TRUSTED_KEYS
30 select CRYPTO_HASH_INFO
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.
36 config X509_CERTIFICATE_PARSER
37 tristate "X.509 certificate parser"
38 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
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.
46 config PKCS8_PRIVATE_KEY_PARSER
47 tristate "PKCS#8 private key parser"
48 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
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
57 tristate "TPM private key parser"
58 depends on ASYMMETRIC_TPM_KEY_SUBTYPE
61 This option provides support for parsing TPM format blobs for
62 private key data and provides the ability to instantiate a crypto key
65 config PKCS7_MESSAGE_PARSER
66 tristate "PKCS#7 message parser"
67 depends on X509_CERTIFICATE_PARSER
71 This option provides support for parsing PKCS#7 format messages for
72 signature data and provides the ability to verify the signature.
75 tristate "PKCS#7 testing key type"
76 depends on SYSTEM_DATA_VERIFICATION
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
84 This is intended for testing the PKCS#7 parser.
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
93 This option provides support for verifying the signature(s) on a
96 endif # ASYMMETRIC_KEY_TYPE