Kconfig 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # SPDX-License-Identifier: GPL-2.0
  2. menuconfig 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. if ASYMMETRIC_KEY_TYPE
  11. config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
  12. tristate "Asymmetric public-key crypto algorithm subtype"
  13. select MPILIB
  14. select CRYPTO_HASH_INFO
  15. select CRYPTO_AKCIPHER
  16. select CRYPTO_HASH
  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.
  22. config X509_CERTIFICATE_PARSER
  23. tristate "X.509 certificate parser"
  24. depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
  25. select ASN1
  26. select OID_REGISTRY
  27. help
  28. This option provides support for parsing X.509 format blobs for key
  29. data and provides the ability to instantiate a crypto key from a
  30. public key packet found inside the certificate.
  31. config PKCS8_PRIVATE_KEY_PARSER
  32. tristate "PKCS#8 private key parser"
  33. depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
  34. select ASN1
  35. select OID_REGISTRY
  36. help
  37. This option provides support for parsing PKCS#8 format blobs for
  38. private key data and provides the ability to instantiate a crypto key
  39. from that data.
  40. config PKCS7_MESSAGE_PARSER
  41. tristate "PKCS#7 message parser"
  42. depends on X509_CERTIFICATE_PARSER
  43. select CRYPTO_HASH
  44. select ASN1
  45. select OID_REGISTRY
  46. help
  47. This option provides support for parsing PKCS#7 format messages for
  48. signature data and provides the ability to verify the signature.
  49. config PKCS7_TEST_KEY
  50. tristate "PKCS#7 testing key type"
  51. depends on SYSTEM_DATA_VERIFICATION
  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. This is intended for testing the PKCS#7 parser.
  59. config SIGNED_PE_FILE_VERIFICATION
  60. bool "Support for PE file signature verification"
  61. depends on PKCS7_MESSAGE_PARSER=y
  62. depends on SYSTEM_DATA_VERIFICATION
  63. select CRYPTO_HASH
  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. config FIPS_SIGNATURE_SELFTEST
  70. bool "Run FIPS selftests on the X.509+PKCS7 signature verification"
  71. help
  72. This option causes some selftests to be run on the signature
  73. verification code, using some built in data. This is required
  74. for FIPS.
  75. depends on KEYS
  76. depends on ASYMMETRIC_KEY_TYPE
  77. depends on PKCS7_MESSAGE_PARSER
  78. endif # ASYMMETRIC_KEY_TYPE