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
21 This option provides support for asymmetric public key type handling.
22 If signature generation and/or verification are to be used,
23 appropriate hash algorithms (such as SHA-1) must be available.
24 ENOPKG will be reported if the requisite algorithm is unavailable.
26 config X509_CERTIFICATE_PARSER
27 tristate "X.509 certificate parser"
28 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
32 This option provides support for parsing X.509 format blobs for key
33 data and provides the ability to instantiate a crypto key from a
34 public key packet found inside the certificate.
36 config PKCS8_PRIVATE_KEY_PARSER
37 tristate "PKCS#8 private key parser"
38 depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
42 This option provides support for parsing PKCS#8 format blobs for
43 private key data and provides the ability to instantiate a crypto key
46 config PKCS7_MESSAGE_PARSER
47 tristate "PKCS#7 message parser"
48 depends on X509_CERTIFICATE_PARSER
53 This option provides support for parsing PKCS#7 format messages for
54 signature data and provides the ability to verify the signature.
57 tristate "PKCS#7 testing key type"
58 depends on SYSTEM_DATA_VERIFICATION
60 This option provides a type of key that can be loaded up from a
61 PKCS#7 message - provided the message is signed by a trusted key. If
62 it is, the PKCS#7 wrapper is discarded and reading the key returns
63 just the payload. If it isn't, adding the key will fail with an
66 This is intended for testing the PKCS#7 parser.
68 config SIGNED_PE_FILE_VERIFICATION
69 bool "Support for PE file signature verification"
70 depends on PKCS7_MESSAGE_PARSER=y
71 depends on SYSTEM_DATA_VERIFICATION
76 This option provides support for verifying the signature(s) on a
79 config FIPS_SIGNATURE_SELFTEST
80 tristate "Run FIPS selftests on the X.509+PKCS7 signature verification"
82 This option causes some selftests to be run on the signature
83 verification code, using some built in data. This is required
86 depends on ASYMMETRIC_KEY_TYPE
87 depends on PKCS7_MESSAGE_PARSER=X509_CERTIFICATE_PARSER
88 depends on X509_CERTIFICATE_PARSER
90 depends on CRYPTO_SHA256
92 config FIPS_SIGNATURE_SELFTEST_RSA
95 depends on FIPS_SIGNATURE_SELFTEST
96 depends on CRYPTO_SHA256=y || CRYPTO_SHA256=FIPS_SIGNATURE_SELFTEST
97 depends on CRYPTO_RSA=y || CRYPTO_RSA=FIPS_SIGNATURE_SELFTEST
99 config FIPS_SIGNATURE_SELFTEST_ECDSA
102 depends on FIPS_SIGNATURE_SELFTEST
103 depends on CRYPTO_SHA256=y || CRYPTO_SHA256=FIPS_SIGNATURE_SELFTEST
104 depends on CRYPTO_ECDSA=y || CRYPTO_ECDSA=FIPS_SIGNATURE_SELFTEST
106 endif # ASYMMETRIC_KEY_TYPE