Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 2 | menuconfig ASYMMETRIC_KEY_TYPE |
David Howells | 99716b7 | 2016-04-06 16:14:26 +0100 | [diff] [blame] | 3 | bool "Asymmetric (public-key cryptographic) key type" |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 4 | depends on KEYS |
| 5 | help |
| 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 |
| 9 | verification. |
| 10 | |
| 11 | if ASYMMETRIC_KEY_TYPE |
| 12 | |
David Howells | a9681bf | 2012-09-21 23:24:55 +0100 | [diff] [blame] | 13 | config ASYMMETRIC_PUBLIC_KEY_SUBTYPE |
| 14 | tristate "Asymmetric public-key crypto algorithm subtype" |
| 15 | select MPILIB |
Dmitry Kasatkin | 3fe78ca | 2013-05-06 15:58:15 +0300 | [diff] [blame] | 16 | select CRYPTO_HASH_INFO |
Arnd Bergmann | bad6a18 | 2016-05-18 16:55:56 +0200 | [diff] [blame] | 17 | select CRYPTO_AKCIPHER |
David Howells | a9681bf | 2012-09-21 23:24:55 +0100 | [diff] [blame] | 18 | help |
| 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. |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 23 | |
Denis Kenzior | 903be6b | 2018-10-09 17:48:02 +0100 | [diff] [blame] | 24 | config ASYMMETRIC_TPM_KEY_SUBTYPE |
| 25 | tristate "Asymmetric TPM backed private key subtype" |
| 26 | depends on TCG_TPM |
Denis Kenzior | e1ea9f8 | 2018-10-09 17:48:41 +0100 | [diff] [blame] | 27 | depends on TRUSTED_KEYS |
Denis Kenzior | 903be6b | 2018-10-09 17:48:02 +0100 | [diff] [blame] | 28 | select CRYPTO_HMAC |
| 29 | select CRYPTO_SHA1 |
| 30 | select CRYPTO_HASH_INFO |
| 31 | help |
| 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. |
| 35 | |
David Howells | c26fd69 | 2012-09-24 17:11:48 +0100 | [diff] [blame] | 36 | config X509_CERTIFICATE_PARSER |
| 37 | tristate "X.509 certificate parser" |
| 38 | depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE |
| 39 | select ASN1 |
| 40 | select OID_REGISTRY |
| 41 | help |
David Howells | 4520698 | 2014-07-08 17:21:01 +0100 | [diff] [blame] | 42 | This option provides support for parsing X.509 format blobs for key |
David Howells | c26fd69 | 2012-09-24 17:11:48 +0100 | [diff] [blame] | 43 | data and provides the ability to instantiate a crypto key from a |
| 44 | public key packet found inside the certificate. |
| 45 | |
David Howells | 3c58b23 | 2018-10-09 17:47:46 +0100 | [diff] [blame] | 46 | config PKCS8_PRIVATE_KEY_PARSER |
| 47 | tristate "PKCS#8 private key parser" |
| 48 | depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE |
| 49 | select ASN1 |
| 50 | select OID_REGISTRY |
| 51 | help |
| 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 |
| 54 | from that data. |
| 55 | |
Denis Kenzior | d5e7274 | 2018-10-09 17:48:17 +0100 | [diff] [blame] | 56 | config TPM_KEY_PARSER |
| 57 | tristate "TPM private key parser" |
| 58 | depends on ASYMMETRIC_TPM_KEY_SUBTYPE |
| 59 | select ASN1 |
| 60 | help |
| 61 | This option provides support for parsing TPM format blobs for |
| 62 | private key data and provides the ability to instantiate a crypto key |
| 63 | from that data. |
| 64 | |
David Howells | 2e3fadb | 2014-07-01 16:40:19 +0100 | [diff] [blame] | 65 | config PKCS7_MESSAGE_PARSER |
| 66 | tristate "PKCS#7 message parser" |
| 67 | depends on X509_CERTIFICATE_PARSER |
| 68 | select ASN1 |
| 69 | select OID_REGISTRY |
| 70 | help |
| 71 | This option provides support for parsing PKCS#7 format messages for |
| 72 | signature data and provides the ability to verify the signature. |
| 73 | |
David Howells | 22d01af | 2014-07-01 19:06:18 +0100 | [diff] [blame] | 74 | config PKCS7_TEST_KEY |
| 75 | tristate "PKCS#7 testing key type" |
David Howells | e68503b | 2016-04-06 16:14:24 +0100 | [diff] [blame] | 76 | depends on SYSTEM_DATA_VERIFICATION |
David Howells | 22d01af | 2014-07-01 19:06:18 +0100 | [diff] [blame] | 77 | help |
| 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 |
| 82 | error. |
| 83 | |
| 84 | This is intended for testing the PKCS#7 parser. |
| 85 | |
David Howells | 26d1164b | 2014-07-01 16:02:51 +0100 | [diff] [blame] | 86 | config SIGNED_PE_FILE_VERIFICATION |
| 87 | bool "Support for PE file signature verification" |
| 88 | depends on PKCS7_MESSAGE_PARSER=y |
David Howells | e68503b | 2016-04-06 16:14:24 +0100 | [diff] [blame] | 89 | depends on SYSTEM_DATA_VERIFICATION |
David Howells | 26d1164b | 2014-07-01 16:02:51 +0100 | [diff] [blame] | 90 | select ASN1 |
| 91 | select OID_REGISTRY |
| 92 | help |
| 93 | This option provides support for verifying the signature(s) on a |
| 94 | signed PE binary. |
| 95 | |
David Howells | 964f3b3 | 2012-09-13 15:17:21 +0100 | [diff] [blame] | 96 | endif # ASYMMETRIC_KEY_TYPE |