# Copyright (c) 2018 Linaro
# Copyright (c) 2024 BayLibre SAS
# SPDX-License-Identifier: Apache-2.0

menuconfig JWT
	bool "JSON Web Token generation"
	select JSON_LIBRARY
	help
	  Enable creation of JWT tokens

if JWT

choice
	prompt "JWT signature algorithm"
	default JWT_SIGN_RSA_PSA
	help
	  Select which algorithm to use for signing JWT tokens.

config JWT_SIGN_RSA_LEGACY
	bool "Use RSA signature (RS-256). Use Mbed TLS as crypto library."
	depends on CSPRNG_ENABLED
	select MBEDTLS
	select MBEDTLS_KEY_EXCHANGE_RSA_ENABLED

config JWT_SIGN_RSA_PSA
	bool "Use RSA signature (RS-256). Use PSA Crypto API."
	select MBEDTLS if !BUILD_WITH_TFM
	select MBEDTLS_PSA_CRYPTO_C if !BUILD_WITH_TFM
	select PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY
	select PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT
	select PSA_WANT_ALG_RSA_PKCS1V15_SIGN
	select PSA_WANT_ALG_SHA_256

config JWT_SIGN_ECDSA_PSA
	bool "Use ECDSA signature (ES-256). Use PSA Crypto API."
	select MBEDTLS if !BUILD_WITH_TFM
	select MBEDTLS_PSA_CRYPTO_C if !BUILD_WITH_TFM
	select PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT
	select PSA_WANT_ALG_ECDSA
	select PSA_WANT_ECC_SECP_R1_256
	select PSA_WANT_ALG_SHA_256

endchoice

endif # JWT
