quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

mac.h (3923B)


      1 /*
      2  * Test driver for MAC driver entry points.
      3  */
      4 /*  Copyright The Mbed TLS Contributors
      5  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
      6  */
      7 
      8 #ifndef PSA_CRYPTO_TEST_DRIVERS_MAC_H
      9 #define PSA_CRYPTO_TEST_DRIVERS_MAC_H
     10 
     11 #include "mbedtls/build_info.h"
     12 
     13 #if defined(PSA_CRYPTO_DRIVER_TEST)
     14 #include "test_driver_common.h"
     15 
     16 #include <psa/crypto_driver_common.h>
     17 
     18 typedef struct {
     19     /* If not PSA_SUCCESS, return this error code instead of processing the
     20      * function call. */
     21     psa_status_t forced_status;
     22     /* Count the amount of times MAC driver functions are called. */
     23     unsigned long hits;
     24     /* Status returned by the last MAC driver function call. */
     25     psa_status_t driver_status;
     26 } mbedtls_test_driver_mac_hooks_t;
     27 
     28 #define MBEDTLS_TEST_DRIVER_MAC_INIT { 0, 0, 0 }
     29 static inline mbedtls_test_driver_mac_hooks_t
     30 mbedtls_test_driver_mac_hooks_init(void)
     31 {
     32     const mbedtls_test_driver_mac_hooks_t v = MBEDTLS_TEST_DRIVER_MAC_INIT;
     33     return v;
     34 }
     35 
     36 extern mbedtls_test_driver_mac_hooks_t mbedtls_test_driver_mac_hooks;
     37 
     38 psa_status_t mbedtls_test_transparent_mac_compute(
     39     const psa_key_attributes_t *attributes,
     40     const uint8_t *key_buffer,
     41     size_t key_buffer_size,
     42     psa_algorithm_t alg,
     43     const uint8_t *input,
     44     size_t input_length,
     45     uint8_t *mac,
     46     size_t mac_size,
     47     size_t *mac_length);
     48 
     49 psa_status_t mbedtls_test_transparent_mac_sign_setup(
     50     mbedtls_transparent_test_driver_mac_operation_t *operation,
     51     const psa_key_attributes_t *attributes,
     52     const uint8_t *key_buffer,
     53     size_t key_buffer_size,
     54     psa_algorithm_t alg);
     55 
     56 psa_status_t mbedtls_test_transparent_mac_verify_setup(
     57     mbedtls_transparent_test_driver_mac_operation_t *operation,
     58     const psa_key_attributes_t *attributes,
     59     const uint8_t *key_buffer,
     60     size_t key_buffer_size,
     61     psa_algorithm_t alg);
     62 
     63 psa_status_t mbedtls_test_transparent_mac_update(
     64     mbedtls_transparent_test_driver_mac_operation_t *operation,
     65     const uint8_t *input,
     66     size_t input_length);
     67 
     68 psa_status_t mbedtls_test_transparent_mac_sign_finish(
     69     mbedtls_transparent_test_driver_mac_operation_t *operation,
     70     uint8_t *mac,
     71     size_t mac_size,
     72     size_t *mac_length);
     73 
     74 psa_status_t mbedtls_test_transparent_mac_verify_finish(
     75     mbedtls_transparent_test_driver_mac_operation_t *operation,
     76     const uint8_t *mac,
     77     size_t mac_length);
     78 
     79 psa_status_t mbedtls_test_transparent_mac_abort(
     80     mbedtls_transparent_test_driver_mac_operation_t *operation);
     81 
     82 psa_status_t mbedtls_test_opaque_mac_compute(
     83     const psa_key_attributes_t *attributes,
     84     const uint8_t *key_buffer,
     85     size_t key_buffer_size,
     86     psa_algorithm_t alg,
     87     const uint8_t *input,
     88     size_t input_length,
     89     uint8_t *mac,
     90     size_t mac_size,
     91     size_t *mac_length);
     92 
     93 psa_status_t mbedtls_test_opaque_mac_sign_setup(
     94     mbedtls_opaque_test_driver_mac_operation_t *operation,
     95     const psa_key_attributes_t *attributes,
     96     const uint8_t *key_buffer,
     97     size_t key_buffer_size,
     98     psa_algorithm_t alg);
     99 
    100 psa_status_t mbedtls_test_opaque_mac_verify_setup(
    101     mbedtls_opaque_test_driver_mac_operation_t *operation,
    102     const psa_key_attributes_t *attributes,
    103     const uint8_t *key_buffer,
    104     size_t key_buffer_size,
    105     psa_algorithm_t alg);
    106 
    107 psa_status_t mbedtls_test_opaque_mac_update(
    108     mbedtls_opaque_test_driver_mac_operation_t *operation,
    109     const uint8_t *input,
    110     size_t input_length);
    111 
    112 psa_status_t mbedtls_test_opaque_mac_sign_finish(
    113     mbedtls_opaque_test_driver_mac_operation_t *operation,
    114     uint8_t *mac,
    115     size_t mac_size,
    116     size_t *mac_length);
    117 
    118 psa_status_t mbedtls_test_opaque_mac_verify_finish(
    119     mbedtls_opaque_test_driver_mac_operation_t *operation,
    120     const uint8_t *mac,
    121     size_t mac_length);
    122 
    123 psa_status_t mbedtls_test_opaque_mac_abort(
    124     mbedtls_opaque_test_driver_mac_operation_t *operation);
    125 
    126 #endif /* PSA_CRYPTO_DRIVER_TEST */
    127 #endif /* PSA_CRYPTO_TEST_DRIVERS_MAC_H */