# Private config options for PSA Crypto application

# Copyright (c) 2023 Linaro
# SPDX-License-Identifier: Apache-2.0

mainmenu "PSA Crypto sample application"

menu "Application configuration"

module = PSA
module-str = psa
source "subsys/logging/Kconfig.template.log_config"

endmenu

config PSA_SHELL
	bool "The 'psa' shell command"
	depends on SHELL
	help
	  Enabling this option will make the 'psa' shell command available.

config PSA_IMPORT_KEY
	bool "Support for importing private key data"
	help
	  Enable support for importing a pre-generated or randomly generated
	  private key using PSA APIs and PRIVATE_KEY_STATIC or
	  PRIVATE_KEY_RANDOM.

choice
	prompt "Private Key"
	default PRIVATE_KEY_RANDOM

config PRIVATE_KEY_STATIC
	bool "Static"
	depends on PSA_IMPORT_KEY
	help
	  A static key value will be used for the elliptic curve 'secp256r1'
	  private key.

config PRIVATE_KEY_RANDOM
	bool "Random"
	depends on PSA_IMPORT_KEY
	help
	  A randomly generated value will be used for the elliptic curve
	  'secp256r1' private key.

endchoice

source "Kconfig.zephyr"
