xref: /linux/crypto/asymmetric_keys/Kconfig (revision 516d5f8b04ce2bcd24f03323fc743ae25b81373d)
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 PUBLIC_KEY_ALGO_RSA
16	select CRYPTO_HASH_INFO
17	help
18	  This option provides support for asymmetric public key type handling.
19	  If signature generation and/or verification are to be used,
20	  appropriate hash algorithms (such as SHA-1) must be available.
21	  ENOPKG will be reported if the requisite algorithm is unavailable.
22
23config PUBLIC_KEY_ALGO_RSA
24	tristate "RSA public-key algorithm"
25	select MPILIB
26	help
27	  This option enables support for the RSA algorithm (PKCS#1, RFC3447).
28
29config X509_CERTIFICATE_PARSER
30	tristate "X.509 certificate parser"
31	depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
32	select ASN1
33	select OID_REGISTRY
34	help
35	  This option provides support for parsing X.509 format blobs for key
36	  data and provides the ability to instantiate a crypto key from a
37	  public key packet found inside the certificate.
38
39config PKCS7_MESSAGE_PARSER
40	tristate "PKCS#7 message parser"
41	depends on X509_CERTIFICATE_PARSER
42	select ASN1
43	select OID_REGISTRY
44	help
45	  This option provides support for parsing PKCS#7 format messages for
46	  signature data and provides the ability to verify the signature.
47
48config PKCS7_TEST_KEY
49	tristate "PKCS#7 testing key type"
50	depends on PKCS7_MESSAGE_PARSER
51	select SYSTEM_TRUSTED_KEYRING
52	help
53	  This option provides a type of key that can be loaded up from a
54	  PKCS#7 message - provided the message is signed by a trusted key.  If
55	  it is, the PKCS#7 wrapper is discarded and reading the key returns
56	  just the payload.  If it isn't, adding the key will fail with an
57	  error.
58
59	  This is intended for testing the PKCS#7 parser.
60
61config SIGNED_PE_FILE_VERIFICATION
62	bool "Support for PE file signature verification"
63	depends on PKCS7_MESSAGE_PARSER=y
64	select ASN1
65	select OID_REGISTRY
66	help
67	  This option provides support for verifying the signature(s) on a
68	  signed PE binary.
69
70endif # ASYMMETRIC_KEY_TYPE
71