mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-01-12 08:05:31 +00:00
Add PSA_ALG_IS_HASH_AND_SIGN to the metadata tests
The status of signature wildcards with respect to PSA_ALG_IS_HASH_AND_SIGN is unclear in the specification. A wildcard is usually instantiated with a specific hash, making the implementation hash-and-sign, but it could also be instantiated with a non-hash-and-sign algorithm. For the time being, go with what's currently implemented, which is that they are considered hash-and-sign. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
4bdcf9a35a
commit
cc14ce08c2
|
@ -216,15 +216,15 @@ asymmetric_signature_algorithm:PSA_ALG_RSA_PKCS1V15_SIGN_RAW:ALG_IS_RSA_PKCS1V15
|
|||
|
||||
Asymmetric signature: RSA PKCS#1 v1.5 SHA-256
|
||||
depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN:PSA_WANT_ALG_SHA_256
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PKCS1V15_SIGN( PSA_ALG_SHA_256 ):ALG_IS_RSA_PKCS1V15_SIGN | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PKCS1V15_SIGN( PSA_ALG_SHA_256 ):ALG_IS_RSA_PKCS1V15_SIGN | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: RSA PSS SHA-256
|
||||
depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PSS( PSA_ALG_SHA_256 ):ALG_IS_RSA_PSS | ALG_IS_RSA_PSS_STANDARD_SALT | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PSS( PSA_ALG_SHA_256 ):ALG_IS_RSA_PSS | ALG_IS_RSA_PSS_STANDARD_SALT | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: RSA PSS-any-salt SHA-256
|
||||
depends_on:PSA_WANT_ALG_RSA_PSS:PSA_WANT_ALG_SHA_256
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PSS_ANY_SALT( PSA_ALG_SHA_256 ):ALG_IS_RSA_PSS | ALG_IS_RSA_PSS_ANY_SALT | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_RSA_PSS_ANY_SALT( PSA_ALG_SHA_256 ):ALG_IS_RSA_PSS | ALG_IS_RSA_PSS_ANY_SALT | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: randomized ECDSA (no hashing)
|
||||
depends_on:PSA_WANT_ALG_ECDSA
|
||||
|
@ -232,11 +232,11 @@ asymmetric_signature_algorithm:PSA_ALG_ECDSA_ANY:ALG_IS_ECDSA | ALG_IS_RANDOMIZE
|
|||
|
||||
Asymmetric signature: SHA-256 + randomized ECDSA
|
||||
depends_on:PSA_WANT_ALG_ECDSA:PSA_WANT_ALG_SHA_256
|
||||
asymmetric_signature_algorithm:PSA_ALG_ECDSA( PSA_ALG_SHA_256 ):ALG_IS_ECDSA | ALG_IS_RANDOMIZED_ECDSA | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_ECDSA( PSA_ALG_SHA_256 ):ALG_IS_ECDSA | ALG_IS_RANDOMIZED_ECDSA | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: SHA-256 + deterministic ECDSA using SHA-256
|
||||
depends_on:PSA_WANT_ALG_DETERMINISTIC_ECDSA:PSA_WANT_ALG_SHA_256
|
||||
asymmetric_signature_algorithm:PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):ALG_IS_ECDSA | ALG_IS_DETERMINISTIC_ECDSA | ALG_ECDSA_IS_DETERMINISTIC | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_DETERMINISTIC_ECDSA( PSA_ALG_SHA_256 ):ALG_IS_ECDSA | ALG_IS_DETERMINISTIC_ECDSA | ALG_ECDSA_IS_DETERMINISTIC | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: pure EdDSA
|
||||
depends_on:PSA_WANT_ALG_EDDSA
|
||||
|
@ -244,11 +244,11 @@ asymmetric_signature_algorithm:PSA_ALG_PURE_EDDSA:0
|
|||
|
||||
Asymmetric signature: Ed25519ph
|
||||
depends_on:PSA_WANT_ALG_EDDSA
|
||||
asymmetric_signature_algorithm:PSA_ALG_ED25519PH:ALG_IS_HASH_EDDSA | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_ED25519PH:ALG_IS_HASH_EDDSA | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: Ed448ph
|
||||
depends_on:PSA_WANT_ALG_EDDSA
|
||||
asymmetric_signature_algorithm:PSA_ALG_ED448PH:ALG_IS_HASH_EDDSA | ALG_IS_SIGN_HASH
|
||||
asymmetric_signature_algorithm:PSA_ALG_ED448PH:ALG_IS_HASH_EDDSA | ALG_IS_SIGN_HASH | ALG_IS_HASH_AND_SIGN
|
||||
|
||||
Asymmetric signature: RSA PKCS#1 v1.5 with wildcard hash
|
||||
depends_on:PSA_WANT_ALG_RSA_PKCS1V15_SIGN
|
||||
|
|
|
@ -34,15 +34,16 @@
|
|||
#define ALG_IS_RANDOMIZED_ECDSA ( 1u << 15 )
|
||||
#define ALG_IS_HASH_EDDSA ( 1u << 16 )
|
||||
#define ALG_IS_SIGN_HASH ( 1u << 17 )
|
||||
#define ALG_IS_RSA_OAEP ( 1u << 18 )
|
||||
#define ALG_IS_HKDF ( 1u << 19 )
|
||||
#define ALG_IS_FFDH ( 1u << 20 )
|
||||
#define ALG_IS_ECDH ( 1u << 21 )
|
||||
#define ALG_IS_WILDCARD ( 1u << 22 )
|
||||
#define ALG_IS_RAW_KEY_AGREEMENT ( 1u << 23 )
|
||||
#define ALG_IS_AEAD_ON_BLOCK_CIPHER ( 1u << 24 )
|
||||
#define ALG_IS_TLS12_PRF ( 1u << 25 )
|
||||
#define ALG_IS_TLS12_PSK_TO_MS ( 1u << 26 )
|
||||
#define ALG_IS_HASH_AND_SIGN ( 1u << 18 )
|
||||
#define ALG_IS_RSA_OAEP ( 1u << 19 )
|
||||
#define ALG_IS_HKDF ( 1u << 20 )
|
||||
#define ALG_IS_FFDH ( 1u << 21 )
|
||||
#define ALG_IS_ECDH ( 1u << 22 )
|
||||
#define ALG_IS_WILDCARD ( 1u << 23 )
|
||||
#define ALG_IS_RAW_KEY_AGREEMENT ( 1u << 24 )
|
||||
#define ALG_IS_AEAD_ON_BLOCK_CIPHER ( 1u << 25 )
|
||||
#define ALG_IS_TLS12_PRF ( 1u << 26 )
|
||||
#define ALG_IS_TLS12_PSK_TO_MS ( 1u << 27 )
|
||||
|
||||
/* Flags for key type classification macros. There is a flag for every
|
||||
* key type classification macro PSA_KEY_TYPE_IS_xxx except for some that
|
||||
|
@ -115,6 +116,7 @@ void algorithm_classification( psa_algorithm_t alg, unsigned flags )
|
|||
TEST_CLASSIFICATION_MACRO( ALG_IS_RANDOMIZED_ECDSA, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_HASH_EDDSA, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_SIGN_HASH, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_HASH_AND_SIGN, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_RSA_OAEP, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_HKDF, alg, flags );
|
||||
TEST_CLASSIFICATION_MACRO( ALG_IS_WILDCARD, alg, flags );
|
||||
|
@ -485,7 +487,9 @@ void asymmetric_signature_algorithm( int alg_arg, int classification_flags )
|
|||
/* BEGIN_CASE */
|
||||
void asymmetric_signature_wildcard( int alg_arg, int classification_flags )
|
||||
{
|
||||
classification_flags |= ALG_IS_SIGN_HASH | ALG_IS_WILDCARD;
|
||||
classification_flags |= ALG_IS_WILDCARD;
|
||||
classification_flags |= ALG_IS_SIGN_HASH;
|
||||
classification_flags |= ALG_IS_HASH_AND_SIGN;
|
||||
test_asymmetric_signature_algorithm( alg_arg, classification_flags );
|
||||
/* Any failure of this test function comes from
|
||||
* asymmetric_signature_algorithm. Pacify -Werror=unused-label. */
|
||||
|
|
Loading…
Reference in a new issue