mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-08-05 19:35:48 +03:00
Restructure mbedtls_cipher_validate_values
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
@@ -42,45 +42,40 @@ static psa_status_t mbedtls_cipher_validate_values(
|
|||||||
psa_algorithm_t alg,
|
psa_algorithm_t alg,
|
||||||
psa_key_type_t key_type)
|
psa_key_type_t key_type)
|
||||||
{
|
{
|
||||||
switch (alg) {
|
if (alg == PSA_ALG_STREAM_CIPHER ||
|
||||||
case PSA_ALG_STREAM_CIPHER:
|
alg == PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305, 0)) {
|
||||||
case PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CHACHA20_POLY1305, 0):
|
if (key_type == PSA_KEY_TYPE_CHACHA20) {
|
||||||
if (key_type != PSA_KEY_TYPE_CHACHA20) {
|
return PSA_SUCCESS;
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
}
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, 0):
|
|
||||||
case PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_GCM, 0):
|
|
||||||
case PSA_ALG_CCM_STAR_NO_TAG:
|
|
||||||
if ((key_type != PSA_KEY_TYPE_AES) &&
|
|
||||||
(key_type != PSA_KEY_TYPE_ARIA) &&
|
|
||||||
(key_type != PSA_KEY_TYPE_CAMELLIA)) {
|
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PSA_ALG_CTR:
|
|
||||||
case PSA_ALG_CFB:
|
|
||||||
case PSA_ALG_OFB:
|
|
||||||
case PSA_ALG_XTS:
|
|
||||||
case PSA_ALG_ECB_NO_PADDING:
|
|
||||||
case PSA_ALG_CBC_NO_PADDING:
|
|
||||||
case PSA_ALG_CBC_PKCS7:
|
|
||||||
case PSA_ALG_CMAC:
|
|
||||||
if ((key_type != PSA_KEY_TYPE_AES) &&
|
|
||||||
(key_type != PSA_KEY_TYPE_ARIA) &&
|
|
||||||
(key_type != PSA_KEY_TYPE_DES) &&
|
|
||||||
(key_type != PSA_KEY_TYPE_CAMELLIA)) {
|
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return PSA_ERROR_NOT_SUPPORTED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return PSA_SUCCESS;
|
if (alg == PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_CCM, 0) ||
|
||||||
|
alg == PSA_ALG_AEAD_WITH_SHORTENED_TAG(PSA_ALG_GCM, 0) ||
|
||||||
|
alg == PSA_ALG_CCM_STAR_NO_TAG) {
|
||||||
|
if (key_type == PSA_KEY_TYPE_AES ||
|
||||||
|
key_type == PSA_KEY_TYPE_ARIA ||
|
||||||
|
key_type == PSA_KEY_TYPE_CAMELLIA) {
|
||||||
|
return PSA_SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (alg == PSA_ALG_CTR ||
|
||||||
|
alg == PSA_ALG_CFB ||
|
||||||
|
alg == PSA_ALG_OFB ||
|
||||||
|
alg == PSA_ALG_XTS ||
|
||||||
|
alg == PSA_ALG_ECB_NO_PADDING ||
|
||||||
|
alg == PSA_ALG_CBC_NO_PADDING ||
|
||||||
|
alg == PSA_ALG_CBC_PKCS7 ||
|
||||||
|
alg == PSA_ALG_CMAC) {
|
||||||
|
if (key_type == PSA_KEY_TYPE_AES ||
|
||||||
|
key_type == PSA_KEY_TYPE_ARIA ||
|
||||||
|
key_type == PSA_KEY_TYPE_DES ||
|
||||||
|
key_type == PSA_KEY_TYPE_CAMELLIA) {
|
||||||
|
return PSA_SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return PSA_ERROR_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
psa_status_t mbedtls_cipher_values_from_psa(
|
psa_status_t mbedtls_cipher_values_from_psa(
|
||||||
|
Reference in New Issue
Block a user