1# SPDX-License-Identifier: GPL-2.0 2menuconfig ASYMMETRIC_KEY_TYPE 3 bool "Asymmetric (public-key cryptographic) key type" 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 11if ASYMMETRIC_KEY_TYPE 12 13config ASYMMETRIC_PUBLIC_KEY_SUBTYPE 14 tristate "Asymmetric public-key crypto algorithm subtype" 15 select MPILIB 16 select CRYPTO_HASH_INFO 17 select CRYPTO_AKCIPHER 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. 23 24config ASYMMETRIC_TPM_KEY_SUBTYPE 25 tristate "Asymmetric TPM backed private key subtype" 26 depends on TCG_TPM 27 depends on TRUSTED_KEYS 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 36config 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 42 This option provides support for parsing X.509 format blobs for key 43 data and provides the ability to instantiate a crypto key from a 44 public key packet found inside the certificate. 45 46config 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 56config 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 65config 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 74config PKCS7_TEST_KEY 75 tristate "PKCS#7 testing key type" 76 depends on SYSTEM_DATA_VERIFICATION 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 86config SIGNED_PE_FILE_VERIFICATION 87 bool "Support for PE file signature verification" 88 depends on PKCS7_MESSAGE_PARSER=y 89 depends on SYSTEM_DATA_VERIFICATION 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 96endif # ASYMMETRIC_KEY_TYPE 97