blob: ec4f66341f8ffce8fe7e2e7f6e0b8ac9eec9f8f1 [file] [log] [blame]
Steven Cooremana70d5882020-07-16 20:26:18 +02001/*
2 * Test driver for signature functions
3 */
4/* Copyright (C) 2020, ARM Limited, All Rights Reserved
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may
8 * not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 * This file is part of mbed TLS (https://tls.mbed.org)
20 */
21
22#ifndef MBEDTLS_PSA_CRYPTO_TEST_DRIVERS_SIGNATURE_H
23#define MBEDTLS_PSA_CRYPTO_TEST_DRIVERS_SIGNATURE_H
24
25#if !defined(MBEDTLS_CONFIG_FILE)
26#include "mbedtls/config.h"
27#else
28#include MBEDTLS_CONFIG_FILE
29#endif
30
Steven Cooreman1cd39d52020-07-23 16:26:08 +020031#if defined(MBEDTLS_PSA_CRYPTO_DRIVER_TEST)
Steven Cooremana70d5882020-07-16 20:26:18 +020032#include <psa/crypto_driver_common.h>
33
34extern void *test_driver_forced_output;
35extern size_t test_driver_forced_output_length;
36
37extern psa_status_t test_transparent_signature_sign_hash_status;
38extern unsigned long test_transparent_signature_sign_hash_hit;
39
Steven Cooreman55ae2172020-07-17 19:46:15 +020040extern psa_status_t test_transparent_signature_verify_hash_status;
41extern unsigned long test_transparent_signature_verify_hash_hit;
42
Steven Cooremana70d5882020-07-16 20:26:18 +020043psa_status_t test_transparent_signature_sign_hash(
44 const psa_key_attributes_t *attributes,
45 const uint8_t *key, size_t key_length,
46 psa_algorithm_t alg,
47 const uint8_t *hash, size_t hash_length,
48 uint8_t *signature, size_t signature_size, size_t *signature_length );
49
50psa_status_t test_opaque_signature_sign_hash(
51 const psa_key_attributes_t *attributes,
52 const uint8_t *key, size_t key_length,
53 psa_algorithm_t alg,
54 const uint8_t *hash, size_t hash_length,
55 uint8_t *signature, size_t signature_size, size_t *signature_length );
56
Steven Cooreman55ae2172020-07-17 19:46:15 +020057psa_status_t test_transparent_signature_verify_hash(
58 const psa_key_attributes_t *attributes,
59 const uint8_t *key, size_t key_length,
60 psa_algorithm_t alg,
61 const uint8_t *hash, size_t hash_length,
62 const uint8_t *signature, size_t signature_length );
63
64psa_status_t test_opaque_signature_verify_hash(
65 const psa_key_attributes_t *attributes,
66 const uint8_t *key, size_t key_length,
67 psa_algorithm_t alg,
68 const uint8_t *hash, size_t hash_length,
69 const uint8_t *signature, size_t signature_length );
70
Steven Cooreman1cd39d52020-07-23 16:26:08 +020071#endif /* MBEDTLS_PSA_CRYPTO_DRIVER_TEST */
Steven Cooremana70d5882020-07-16 20:26:18 +020072#endif /* MBEDTLS_PSA_CRYPTO_TEST_DRIVERS_SIGNATURE_H */