# SPDX-License-Identifier: GPL-2.0 menuconfig ASYMMETRIC_KEY_TYPE bool "Asymmetric (public-key cryptographic) key type" depends on KEYS help This option provides support for a key type that holds the data for the asymmetric keys used for public key cryptographic operations such as encryption, decryption, signature generation and signature verification. if ASYMMETRIC_KEY_TYPE config ASYMMETRIC_PUBLIC_KEY_SUBTYPE tristate "Asymmetric public-key crypto algorithm subtype" select MPILIB select CRYPTO_HASH_INFO select CRYPTO_AKCIPHER help This option provides support for asymmetric public key type handling. If signature generation and/or verification are to be used, appropriate hash algorithms (such as SHA-1) must be available. ENOPKG will be reported if the requisite algorithm is unavailable. config ASYMMETRIC_TPM_KEY_SUBTYPE tristate "Asymmetric TPM backed private key subtype" depends on TCG_TPM depends on TRUSTED_KEYS select CRYPTO_HMAC select CRYPTO_SHA1 select CRYPTO_HASH_INFO help This option provides support for TPM backed private key type handling. Operations such as sign, verify, encrypt, decrypt are performed by the TPM after the private key is loaded. config X509_CERTIFICATE_PARSER tristate "X.509 certificate parser" depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE select ASN1 select OID_REGISTRY help This option provides support for parsing X.509 format blobs for key data and provides the ability to instantiate a crypto key from a public key packet found inside the certificate. config PKCS8_PRIVATE_KEY_PARSER tristate "PKCS#8 private key parser" depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE select ASN1 select OID_REGISTRY help This option provides support for parsing PKCS#8 format blobs for private key data and provides the ability to instantiate a crypto key from that data. config TPM_KEY_PARSER tristate "TPM private key parser" depends on ASYMMETRIC_TPM_KEY_SUBTYPE select ASN1 help This option provides support for parsing TPM format blobs for private key data and provides the ability to instantiate a crypto key from that data. config PKCS7_MESSAGE_PARSER tristate "PKCS#7 message parser" depends on X509_CERTIFICATE_PARSER select ASN1 select OID_REGISTRY help This option provides support for parsing PKCS#7 format messages for signature data and provides the ability to verify the signature. config PKCS7_TEST_KEY tristate "PKCS#7 testing key type" depends on SYSTEM_DATA_VERIFICATION help This option provides a type of key that can be loaded up from a PKCS#7 message - provided the message is signed by a trusted key. If it is, the PKCS#7 wrapper is discarded and reading the key returns just the payload. If it isn't, adding the key will fail with an error. This is intended for testing the PKCS#7 parser. config SIGNED_PE_FILE_VERIFICATION bool "Support for PE file signature verification" depends on PKCS7_MESSAGE_PARSER=y depends on SYSTEM_DATA_VERIFICATION select ASN1 select OID_REGISTRY help This option provides support for verifying the signature(s) on a signed PE binary. endif # ASYMMETRIC_KEY_TYPE