David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 1 | menuconfig 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 | |
| 10 | if ASYMMETRIC_KEY_TYPE |
| 11 | |
David Howells | a9681bf | 2012-09-21 23:24:55 +0100 | [diff] [blame] | 12 | config ASYMMETRIC_PUBLIC_KEY_SUBTYPE |
| 13 | tristate "Asymmetric public-key crypto algorithm subtype" |
| 14 | select MPILIB |
David Howells | 206ce59 | 2013-08-30 16:15:18 +0100 | [diff] [blame] | 15 | select PUBLIC_KEY_ALGO_RSA |
Dmitry Kasatkin | 3fe78ca | 2013-05-06 15:58:15 +0300 | [diff] [blame] | 16 | select CRYPTO_HASH_INFO |
David Howells | a9681bf | 2012-09-21 23:24:55 +0100 | [diff] [blame] | 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. |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 22 | |
David Howells | 612e0fe | 2012-09-21 23:25:40 +0100 | [diff] [blame] | 23 | config PUBLIC_KEY_ALGO_RSA |
| 24 | tristate "RSA public-key algorithm" |
David Howells | dbed714 | 2013-11-01 15:11:14 +0000 | [diff] [blame] | 25 | select MPILIB |
David Howells | 612e0fe | 2012-09-21 23:25:40 +0100 | [diff] [blame] | 26 | help |
| 27 | This option enables support for the RSA algorithm (PKCS#1, RFC3447). |
| 28 | |
David Howells | c26fd69 | 2012-09-24 17:11:48 +0100 | [diff] [blame] | 29 | config 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 |
David Howells | 4520698 | 2014-07-08 17:21:01 +0100 | [diff] [blame] | 35 | This option provides support for parsing X.509 format blobs for key |
David Howells | c26fd69 | 2012-09-24 17:11:48 +0100 | [diff] [blame] | 36 | data and provides the ability to instantiate a crypto key from a |
| 37 | public key packet found inside the certificate. |
| 38 | |
David Howells | 2e3fadb | 2014-07-01 16:40:19 +0100 | [diff] [blame] | 39 | config 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 | |
David Howells | 22d01af | 2014-07-01 19:06:18 +0100 | [diff] [blame] | 48 | config 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 | |
David Howells | 26d1164 | 2014-07-01 16:02:51 +0100 | [diff] [blame] | 61 | config 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 | |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 70 | endif # ASYMMETRIC_KEY_TYPE |