xref: /linux/crypto/asymmetric_keys/Kconfig (revision 22d01afb210ff77fc480a1fc531cd59a4f32157a)
1964f3b3bSDavid Howellsmenuconfig ASYMMETRIC_KEY_TYPE
2964f3b3bSDavid Howells	tristate "Asymmetric (public-key cryptographic) key type"
3964f3b3bSDavid Howells	depends on KEYS
4964f3b3bSDavid Howells	help
5964f3b3bSDavid Howells	  This option provides support for a key type that holds the data for
6964f3b3bSDavid Howells	  the asymmetric keys used for public key cryptographic operations such
7964f3b3bSDavid Howells	  as encryption, decryption, signature generation and signature
8964f3b3bSDavid Howells	  verification.
9964f3b3bSDavid Howells
10964f3b3bSDavid Howellsif ASYMMETRIC_KEY_TYPE
11964f3b3bSDavid Howells
12a9681bf3SDavid Howellsconfig ASYMMETRIC_PUBLIC_KEY_SUBTYPE
13a9681bf3SDavid Howells	tristate "Asymmetric public-key crypto algorithm subtype"
14a9681bf3SDavid Howells	select MPILIB
15206ce59aSDavid Howells	select PUBLIC_KEY_ALGO_RSA
163fe78ca2SDmitry Kasatkin	select CRYPTO_HASH_INFO
17a9681bf3SDavid Howells	help
18a9681bf3SDavid Howells	  This option provides support for asymmetric public key type handling.
19a9681bf3SDavid Howells	  If signature generation and/or verification are to be used,
20a9681bf3SDavid Howells	  appropriate hash algorithms (such as SHA-1) must be available.
21a9681bf3SDavid Howells	  ENOPKG will be reported if the requisite algorithm is unavailable.
22964f3b3bSDavid Howells
23612e0fe9SDavid Howellsconfig PUBLIC_KEY_ALGO_RSA
24612e0fe9SDavid Howells	tristate "RSA public-key algorithm"
25612e0fe9SDavid Howells	select MPILIB_EXTRA
26dbed7141SDavid Howells	select MPILIB
27612e0fe9SDavid Howells	help
28612e0fe9SDavid Howells	  This option enables support for the RSA algorithm (PKCS#1, RFC3447).
29612e0fe9SDavid Howells
30c26fd69fSDavid Howellsconfig X509_CERTIFICATE_PARSER
31c26fd69fSDavid Howells	tristate "X.509 certificate parser"
32c26fd69fSDavid Howells	depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
33c26fd69fSDavid Howells	select ASN1
34c26fd69fSDavid Howells	select OID_REGISTRY
35c26fd69fSDavid Howells	help
36c26fd69fSDavid Howells	  This option procides support for parsing X.509 format blobs for key
37c26fd69fSDavid Howells	  data and provides the ability to instantiate a crypto key from a
38c26fd69fSDavid Howells	  public key packet found inside the certificate.
39c26fd69fSDavid Howells
402e3fadbfSDavid Howellsconfig PKCS7_MESSAGE_PARSER
412e3fadbfSDavid Howells	tristate "PKCS#7 message parser"
422e3fadbfSDavid Howells	depends on X509_CERTIFICATE_PARSER
432e3fadbfSDavid Howells	select ASN1
442e3fadbfSDavid Howells	select OID_REGISTRY
452e3fadbfSDavid Howells	help
462e3fadbfSDavid Howells	  This option provides support for parsing PKCS#7 format messages for
472e3fadbfSDavid Howells	  signature data and provides the ability to verify the signature.
482e3fadbfSDavid Howells
49*22d01afbSDavid Howellsconfig PKCS7_TEST_KEY
50*22d01afbSDavid Howells	tristate "PKCS#7 testing key type"
51*22d01afbSDavid Howells	depends on PKCS7_MESSAGE_PARSER
52*22d01afbSDavid Howells	select SYSTEM_TRUSTED_KEYRING
53*22d01afbSDavid Howells	help
54*22d01afbSDavid Howells	  This option provides a type of key that can be loaded up from a
55*22d01afbSDavid Howells	  PKCS#7 message - provided the message is signed by a trusted key.  If
56*22d01afbSDavid Howells	  it is, the PKCS#7 wrapper is discarded and reading the key returns
57*22d01afbSDavid Howells	  just the payload.  If it isn't, adding the key will fail with an
58*22d01afbSDavid Howells	  error.
59*22d01afbSDavid Howells
60*22d01afbSDavid Howells	  This is intended for testing the PKCS#7 parser.
61*22d01afbSDavid Howells
62964f3b3bSDavid Howellsendif # ASYMMETRIC_KEY_TYPE
63