menuconfig ASYMMETRIC_KEY_TYPE
	bool "Asymmetric (public-key cryptographic) key Support"
	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
	bool "Asymmetric public-key crypto algorithm subtype"
	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 RSA_PUBLIC_KEY_PARSER
	bool "RSA public key parser"
	depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
	select ASN1_DECODER
	select ASN1_COMPILER
	select OID_REGISTRY
	help
	  This option provides support for parsing a blob containing RSA
	  public key data and provides the ability to instantiate a public
	  key.

config X509_CERTIFICATE_PARSER
	bool "X.509 certificate parser"
	depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
	select ASN1_DECODER
	select ASN1_COMPILER
	select OID_REGISTRY
	select LIB_DATE
	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 PKCS7_MESSAGE_PARSER
	bool "PKCS#7 message parser"
	depends on X509_CERTIFICATE_PARSER
	select ASN1_DECODER
	select ASN1_COMPILER
	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_VERIFY
	bool

endif # ASYMMETRIC_KEY_TYPE
