Make psa_get_mac_output_length testable and test it
Signed-off-by: Steven Cooreman <steven.cooreman@silabs.com>
This commit is contained in:
parent
7d4b0d778f
commit
58c94d39ae
3 changed files with 18 additions and 3 deletions
|
@ -564,7 +564,8 @@ static inline size_t psa_get_key_slot_bits( const psa_key_slot_t *slot )
|
|||
* \p algorithm tries to truncate the MAC to a size which would be
|
||||
* larger than the underlying algorithm's maximum output length.
|
||||
*/
|
||||
static psa_status_t psa_get_mac_output_length( psa_algorithm_t algorithm,
|
||||
MBEDTLS_STATIC_TESTABLE psa_status_t psa_get_mac_output_length(
|
||||
psa_algorithm_t algorithm,
|
||||
psa_key_type_t key_type,
|
||||
size_t *length )
|
||||
{
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#endif
|
||||
|
||||
#include "psa/crypto.h"
|
||||
#include "common.h"
|
||||
|
||||
#include "mbedtls/entropy.h"
|
||||
|
||||
|
@ -76,4 +77,10 @@ psa_status_t mbedtls_psa_crypto_configure_entropy_sources(
|
|||
void (* entropy_free )( mbedtls_entropy_context *ctx ) );
|
||||
#endif /* !defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) */
|
||||
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && defined(MBEDTLS_PSA_CRYPTO_C)
|
||||
psa_status_t psa_get_mac_output_length( psa_algorithm_t algorithm,
|
||||
psa_key_type_t key_type,
|
||||
size_t *length );
|
||||
#endif /* MBEDTLS_TEST_HOOKS && MBEDTLS_PSA_CRYPTO_C */
|
||||
|
||||
#endif /* PSA_CRYPTO_INVASIVE_H */
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#endif
|
||||
|
||||
#include "psa/crypto.h"
|
||||
#include "psa_crypto_invasive.h"
|
||||
|
||||
/* Flags for algorithm classification macros. There is a flag for every
|
||||
* algorithm classification macro PSA_ALG_IS_xxx except for the
|
||||
|
@ -158,6 +159,12 @@ void mac_algorithm_core( psa_algorithm_t alg, int classification_flags,
|
|||
/* Length */
|
||||
TEST_EQUAL( length, PSA_MAC_LENGTH( key_type, key_bits, alg ) );
|
||||
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && defined(MBEDTLS_PSA_CRYPTO_C)
|
||||
size_t output_length = 0;
|
||||
PSA_ASSERT( psa_get_mac_output_length( alg, key_type, &output_length ) );
|
||||
TEST_EQUAL( length, output_length );
|
||||
#endif
|
||||
|
||||
exit: ;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue