Enhancements : Memory usage, clean up and new build option
1. const qualifier added at appropriate places.
2. Cleaned redundant code.
3. New Storage build option introduced.
-DSUITE=STORAGE to build ITS and PS as single archive
-DSUITE=INTERNAL_TRUSTED_STORAGE to build ITS only
-DSUITE=PROTECTED_STORAGE to build PS only
Signed-off-by: Vinay Kumar Kotegowder <vinaykumar.kotegowder@arm.com>
diff --git a/api-tests/dev_apis/crypto/suite.cmake b/api-tests/dev_apis/crypto/suite.cmake
index ddb3128..6f1050f 100644
--- a/api-tests/dev_apis/crypto/suite.cmake
+++ b/api-tests/dev_apis/crypto/suite.cmake
@@ -1,5 +1,5 @@
#/** @file
-# * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+# * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
# * SPDX-License-Identifier : Apache-2.0
# *
# * Licensed under the Apache License, Version 2.0 (the "License");
@@ -51,6 +51,7 @@
${CMAKE_CURRENT_BINARY_DIR}
${PSA_ROOT_DIR}/val/common
${PSA_ROOT_DIR}/val/nspe
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/common
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/crypto
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe/crypto
+ ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
)
diff --git a/api-tests/dev_apis/crypto/test_c001/test_c001.c b/api-tests/dev_apis/crypto/test_c001/test_c001.c
index 4f32416..fec7371 100644
--- a/api-tests/dev_apis/crypto/test_c001/test_c001.c
+++ b/api-tests/dev_apis/crypto/test_c001/test_c001.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,7 @@
#include "val_target.h"
#include "test_c001.h"
-client_test_t test_c001_crypto_list[] = {
+const client_test_t test_c001_crypto_list[] = {
NULL,
psa_generate_random_without_init_test,
psa_crypto_init_test,
diff --git a/api-tests/dev_apis/crypto/test_c001/test_c001.h b/api-tests/dev_apis/crypto/test_c001/test_c001.h
index 0c9c4c9..472ecbb 100644
--- a/api-tests/dev_apis/crypto/test_c001/test_c001.h
+++ b/api-tests/dev_apis/crypto/test_c001/test_c001.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +26,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c001_crypto_list[];
+extern const client_test_t test_c001_crypto_list[];
int32_t psa_crypto_init_test(caller_security_t caller);
int32_t multiple_psa_crypto_init_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c002/test_c002.c b/api-tests/dev_apis/crypto/test_c002/test_c002.c
index a23a797..bafc179 100644
--- a/api-tests/dev_apis/crypto/test_c002/test_c002.c
+++ b/api-tests/dev_apis/crypto/test_c002/test_c002.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c002_crypto_list[] = {
+const client_test_t test_c002_crypto_list[] = {
NULL,
psa_import_key_test,
NULL,
@@ -40,6 +40,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t get_attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -99,7 +100,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(3));
/* If failure is expected, continue with the next data set */
@@ -107,7 +108,7 @@
continue;
/* Get the attributes of the imported key and check if it matches the given value */
- status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
&get_attributes);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
@@ -118,7 +119,7 @@
TEST_ASSERT_EQUAL(get_key_bits, check1[i].expected_bit_length, TEST_CHECKPOINT_NUM(6));
/* Export a key in binary format */
- status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, key_handle, data,
BUFFER_SIZE, &length);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
@@ -141,14 +142,14 @@
/* Reset the key attributes and check if psa_import_key fails */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
- val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_NOT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
- TEST_ASSERT_EQUAL(check1[i].key_handle, 0, TEST_CHECKPOINT_NUM(13));
+ TEST_ASSERT_EQUAL(key_handle, 0, TEST_CHECKPOINT_NUM(13));
}
return VAL_STATUS_SUCCESS;
diff --git a/api-tests/dev_apis/crypto/test_c002/test_c002.h b/api-tests/dev_apis/crypto/test_c002/test_c002.h
index fecfedb..f6831e7 100644
--- a/api-tests/dev_apis/crypto/test_c002/test_c002.h
+++ b/api-tests/dev_apis/crypto/test_c002/test_c002.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c002_crypto_list[];
+extern const client_test_t test_c002_crypto_list[];
int32_t psa_import_key_test(caller_security_t caller);
#endif /* _TEST_C002_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c002/test_data.h b/api-tests/dev_apis/crypto/test_c002/test_data.h
index 38db0a5..116ccd3 100644
--- a/api-tests/dev_apis/crypto/test_c002/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c002/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -161,11 +160,11 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_import_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_import_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -174,7 +173,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_import_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_import_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE, BYTES_TO_BITS(AES_24B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -183,7 +182,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_import_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_import_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -194,13 +193,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_import_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_import_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
2048, 270, PSA_SUCCESS
},
-{"Test psa_import_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_import_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
2048, 1193, PSA_SUCCESS
@@ -210,7 +209,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_import_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_import_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, BYTES_TO_BITS(DES_8B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
BYTES_TO_BITS(DES_8B_KEY_SIZE), DES_8B_KEY_SIZE, PSA_SUCCESS
@@ -218,7 +217,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_import_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_import_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -227,7 +226,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_import_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_import_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -239,7 +238,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_import_key with EC Public key\n", 9,
+{"Test psa_import_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY,
@@ -248,7 +247,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_import_key with EC keypair\n", 10,
+{"Test psa_import_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY,
@@ -259,7 +258,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES
-{"Test psa_import_key with key data greater than the algorithm size\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_import_key with key data greater than the algorithm size\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -267,7 +266,7 @@
BYTES_TO_BITS(AES_34B_KEY_SIZE), AES_34B_KEY_SIZE, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_import_key with incorrect key data size\n", 12, PSA_KEY_TYPE_AES,
+{"Test psa_import_key with incorrect key data size\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77},
AES_18B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -275,7 +274,7 @@
},
#endif
-{"Test psa_import_key with incorrect key type\n", 13, PSA_KEY_TYPE_VENDOR_FLAG,
+{"Test psa_import_key with incorrect key type\n", PSA_KEY_TYPE_VENDOR_FLAG,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
diff --git a/api-tests/dev_apis/crypto/test_c003/test_c003.c b/api-tests/dev_apis/crypto/test_c003/test_c003.c
index 47607d8..4f9fa82 100644
--- a/api-tests/dev_apis/crypto/test_c003/test_c003.c
+++ b/api-tests/dev_apis/crypto/test_c003/test_c003.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c003.h"
#include "test_data.h"
-client_test_t test_c003_crypto_list[] = {
+const client_test_t test_c003_crypto_list[] = {
NULL,
psa_export_key_test,
NULL,
@@ -36,6 +36,7 @@
const uint8_t *key_data;
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -97,11 +98,11 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Export a key in binary format */
- status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, key_handle, data,
check1[i].buffer_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -126,10 +127,10 @@
}
/* Destroy the key handle and check if export key fails */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
- status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, key_handle, data,
check1[i].buffer_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(9));
}
diff --git a/api-tests/dev_apis/crypto/test_c003/test_c003.h b/api-tests/dev_apis/crypto/test_c003/test_c003.h
index 3bd4e53..a376b4f 100644
--- a/api-tests/dev_apis/crypto/test_c003/test_c003.h
+++ b/api-tests/dev_apis/crypto/test_c003/test_c003.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c003_crypto_list[];
+extern const client_test_t test_c003_crypto_list[];
int32_t psa_export_key_test(caller_security_t caller);
int32_t psa_export_key_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c003/test_data.h b/api-tests/dev_apis/crypto/test_c003/test_data.h
index 625cc17..2197f37 100644
--- a/api-tests/dev_apis/crypto/test_c003/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c003/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -161,10 +160,10 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_export_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_export_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -173,7 +172,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_export_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_export_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -182,7 +181,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_export_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_export_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -194,13 +193,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_export_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_export_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, BUFFER_SIZE,
2048, 270, PSA_SUCCESS
},
-{"Test psa_export_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_export_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, BUFFER_SIZE,
2048, 1193, PSA_SUCCESS
@@ -210,7 +209,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_export_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_export_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
BYTES_TO_BITS(DES_8B_KEY_SIZE), DES_8B_KEY_SIZE, PSA_SUCCESS
@@ -218,7 +217,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_export_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_export_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -227,7 +226,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_export_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_export_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -239,7 +238,7 @@
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_export_key with EC Public key\n", 9,
+{"Test psa_export_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, BUFFER_SIZE,
@@ -248,7 +247,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_export_key with EC keypair\n", 10,
+{"Test psa_export_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, BUFFER_SIZE,
@@ -259,14 +258,14 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_export_key with key policy verify\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_export_key with key policy verify\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x05},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_VERIFY, PSA_ALG_CTR, BUFFER_SIZE,
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_ERROR_NOT_PERMITTED
},
-{"Test psa_export_key with less buffer size\n", 12, PSA_KEY_TYPE_AES,
+{"Test psa_export_key with less buffer size\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x05},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, 14,
diff --git a/api-tests/dev_apis/crypto/test_c004/test_c004.c b/api-tests/dev_apis/crypto/test_c004/test_c004.c
index 00bdfd3..983ae54 100644
--- a/api-tests/dev_apis/crypto/test_c004/test_c004.c
+++ b/api-tests/dev_apis/crypto/test_c004/test_c004.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c004.h"
#include "test_data.h"
-client_test_t test_c004_crypto_list[] = {
+const client_test_t test_c004_crypto_list[] = {
NULL,
test_psa_export_public_key,
NULL,
@@ -36,6 +36,7 @@
const uint8_t *key_data;
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -97,11 +98,11 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Export a key in binary format */
- status = val->crypto_function(VAL_CRYPTO_EXPORT_PUBLIC_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_PUBLIC_KEY, key_handle, data,
check1[i].buffer_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -132,10 +133,10 @@
}
/* Destroy the key handle and check if export key fails */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
- status = val->crypto_function(VAL_CRYPTO_EXPORT_PUBLIC_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_PUBLIC_KEY, key_handle, data,
check1[i].buffer_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(9));
}
diff --git a/api-tests/dev_apis/crypto/test_c004/test_c004.h b/api-tests/dev_apis/crypto/test_c004/test_c004.h
index b8f27de..0ab1973 100644
--- a/api-tests/dev_apis/crypto/test_c004/test_c004.h
+++ b/api-tests/dev_apis/crypto/test_c004/test_c004.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c004_crypto_list[];
+extern const client_test_t test_c004_crypto_list[];
int32_t test_psa_export_public_key(caller_security_t caller);
#endif /* _TEST_C004_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c004/test_data.h b/api-tests/dev_apis/crypto/test_c004/test_data.h
index f389a0f..428a112 100644
--- a/api-tests/dev_apis/crypto/test_c004/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c004/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -192,11 +191,11 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_export_public_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_export_public_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -205,7 +204,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_export_public_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_export_public_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9},
AES_24B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -214,7 +213,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_export_public_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_export_public_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -226,13 +225,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_export_public_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_export_public_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, BUFFER_SIZE,
2048, 270, PSA_SUCCESS
},
-{"Test psa_export_public_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_export_public_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, BUFFER_SIZE,
2048, 270, PSA_SUCCESS
@@ -242,7 +241,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_export_public_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_export_public_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
BYTES_TO_BITS(DES_8B_KEY_SIZE), DES_8B_KEY_SIZE, PSA_ERROR_INVALID_ARGUMENT
@@ -250,7 +249,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_export_public_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_export_public_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BUFFER_SIZE,
@@ -259,7 +258,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_export_public_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_export_public_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -271,7 +270,7 @@
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_export_public_key with EC Public key\n", 9,
+{"Test psa_export_public_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, BUFFER_SIZE,
@@ -280,7 +279,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_export_public_key with EC keypair\n", 10,
+{"Test psa_export_public_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, BUFFER_SIZE,
@@ -291,7 +290,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA
-{"Test psa_export_public_key with less buffer size\n", 12, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_export_public_key with less buffer size\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, 200,
2048, 270, PSA_ERROR_BUFFER_TOO_SMALL
diff --git a/api-tests/dev_apis/crypto/test_c005/test_c005.c b/api-tests/dev_apis/crypto/test_c005/test_c005.c
index 0dabc9d..d66e9f7 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_c005.c
+++ b/api-tests/dev_apis/crypto/test_c005/test_c005.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c005.h"
#include "test_data.h"
-client_test_t test_c005_crypto_list[] = {
+const client_test_t test_c005_crypto_list[] = {
NULL,
psa_destroy_key_test,
NULL,
@@ -41,6 +41,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t set_attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -103,15 +104,15 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &set_attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Destroy the key handle */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Getting the attributes of the destroyed key should return error */
- status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
&attributes);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(5));
@@ -135,7 +136,7 @@
TEST_ASSERT_EQUAL(get_key_bits, 0, TEST_CHECKPOINT_NUM(11));
/* Destroying an empty key handle should return error */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(12));
}
diff --git a/api-tests/dev_apis/crypto/test_c005/test_c005.h b/api-tests/dev_apis/crypto/test_c005/test_c005.h
index 95e228b..52b5a5e 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_c005.h
+++ b/api-tests/dev_apis/crypto/test_c005/test_c005.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c005_crypto_list[];
+extern const client_test_t test_c005_crypto_list[];
int32_t psa_destroy_key_test(caller_security_t caller);
#endif /* _TEST_C005_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c005/test_data.h b/api-tests/dev_apis/crypto/test_c005/test_data.h
index 3b70b18..e693af9 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c005/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -161,11 +160,11 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_destroy_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_destroy_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -175,7 +174,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_destroy_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_destroy_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9},
AES_24B_KEY_SIZE, BYTES_TO_BITS(AES_24B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -185,7 +184,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_destroy_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_destroy_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -198,14 +197,14 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_destroy_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_destroy_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 2048, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
0x78, PSA_KEY_LIFETIME_VOLATILE,
2048, PSA_SUCCESS
},
-{"Test psa_destroy_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_destroy_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 2048, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
0x89, PSA_KEY_LIFETIME_VOLATILE,
@@ -216,7 +215,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_destroy_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_destroy_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, BYTES_TO_BITS(DES_8B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
0xAB, PSA_KEY_LIFETIME_VOLATILE,
@@ -225,7 +224,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_destroy_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_destroy_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, BYTES_TO_BITS(DES3_2KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -235,7 +234,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_destroy_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_destroy_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -248,7 +247,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_destroy_key with EC Public key\n", 9,
+{"Test psa_destroy_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65, 256, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY,
@@ -260,7 +259,7 @@
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_destroy_key with EC keypair\n", 10,
+{"Test psa_destroy_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28, 224, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION,
diff --git a/api-tests/dev_apis/crypto/test_c006/test_c006.c b/api-tests/dev_apis/crypto/test_c006/test_c006.c
index d6b603f..fc418e5 100644
--- a/api-tests/dev_apis/crypto/test_c006/test_c006.c
+++ b/api-tests/dev_apis/crypto/test_c006/test_c006.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c006_crypto_list[] = {
+const client_test_t test_c006_crypto_list[] = {
NULL,
psa_hash_compute_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c006/test_c006.h b/api-tests/dev_apis/crypto/test_c006/test_c006.h
index 9a1a622..12dbbcd 100644
--- a/api-tests/dev_apis/crypto/test_c006/test_c006.h
+++ b/api-tests/dev_apis/crypto/test_c006/test_c006.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c006_crypto_list[];
+extern const client_test_t test_c006_crypto_list[];
int32_t psa_hash_compute_test(caller_security_t caller);
#endif /* _TEST_C006_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c006/test_data.h b/api-tests/dev_apis/crypto/test_c006/test_data.h
index 5aeee35..f238ef7 100644
--- a/api-tests/dev_apis/crypto/test_c006/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c006/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
0xcb, 0x7b, 0x00, 0xae, 0xa8, 0x91, 0x49, 0x9c, 0xf4, 0xef, 0x6a, 0x03, 0xc8, 0xa8, 0x3f, 0xe3,
0x7c, 0x3f, 0x7b, 0xaf};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_compute with MD2 algorithm\n",
PSA_ALG_MD2, 0xbd, 1,
diff --git a/api-tests/dev_apis/crypto/test_c007/test_c007.c b/api-tests/dev_apis/crypto/test_c007/test_c007.c
index 895242a..d3046c1 100644
--- a/api-tests/dev_apis/crypto/test_c007/test_c007.c
+++ b/api-tests/dev_apis/crypto/test_c007/test_c007.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c007_crypto_list[] = {
+const client_test_t test_c007_crypto_list[] = {
NULL,
psa_hash_compare_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c007/test_c007.h b/api-tests/dev_apis/crypto/test_c007/test_c007.h
index fb5c385..9e9c357 100644
--- a/api-tests/dev_apis/crypto/test_c007/test_c007.h
+++ b/api-tests/dev_apis/crypto/test_c007/test_c007.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c007_crypto_list[];
+extern const client_test_t test_c007_crypto_list[];
int32_t psa_hash_compare_test(caller_security_t caller);
#endif /* _TEST_C007_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c007/test_data.h b/api-tests/dev_apis/crypto/test_c007/test_data.h
index 5d6dc86..c2a04bc 100644
--- a/api-tests/dev_apis/crypto/test_c007/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c007/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
0xcb, 0x7b, 0x00, 0xae, 0xa8, 0x91, 0x49, 0x9c, 0xf4, 0xef, 0x6a, 0x03, 0xc8, 0xa8, 0x3f, 0xe3,
0x7c, 0x3f, 0x7b, 0xaf};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_compare with MD2 algorithm\n",
PSA_ALG_MD2, 0xbd, 1,
diff --git a/api-tests/dev_apis/crypto/test_c008/test_c008.c b/api-tests/dev_apis/crypto/test_c008/test_c008.c
index 5063c13..a4e8387 100644
--- a/api-tests/dev_apis/crypto/test_c008/test_c008.c
+++ b/api-tests/dev_apis/crypto/test_c008/test_c008.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c008_crypto_list[] = {
+const client_test_t test_c008_crypto_list[] = {
NULL,
psa_key_derivation_setup_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c008/test_c008.h b/api-tests/dev_apis/crypto/test_c008/test_c008.h
index c86acf8..c8b1cfb 100644
--- a/api-tests/dev_apis/crypto/test_c008/test_c008.h
+++ b/api-tests/dev_apis/crypto/test_c008/test_c008.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c008_crypto_list[];
+extern const client_test_t test_c008_crypto_list[];
int32_t psa_key_derivation_setup_test(caller_security_t caller);
#endif /* _TEST_C008_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c008/test_data.h b/api-tests/dev_apis/crypto/test_c008/test_data.h
index a350c16..f5e356f 100644
--- a/api-tests/dev_apis/crypto/test_c008/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c008/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
{"Test psa_key_derivation_setup - ECDH + HKDF-SHA-256\n",
PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
PSA_SUCCESS
diff --git a/api-tests/dev_apis/crypto/test_c009/test_c009.c b/api-tests/dev_apis/crypto/test_c009/test_c009.c
index 1288bf6..0dd6dc2 100644
--- a/api-tests/dev_apis/crypto/test_c009/test_c009.c
+++ b/api-tests/dev_apis/crypto/test_c009/test_c009.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c009_crypto_list[] = {
+const client_test_t test_c009_crypto_list[] = {
NULL,
psa_key_derivation_input_bytes_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c009/test_c009.h b/api-tests/dev_apis/crypto/test_c009/test_c009.h
index 356ad72..4730d6d 100644
--- a/api-tests/dev_apis/crypto/test_c009/test_c009.h
+++ b/api-tests/dev_apis/crypto/test_c009/test_c009.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c009_crypto_list[];
+extern const client_test_t test_c009_crypto_list[];
int32_t psa_key_derivation_input_bytes_test(caller_security_t caller);
#endif /* _TEST_C009_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c009/test_data.h b/api-tests/dev_apis/crypto/test_c009/test_data.h
index d485067..bf8e7b6 100644
--- a/api-tests/dev_apis/crypto/test_c009/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c009/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +26,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
{"Test psa_key_derivation_input_bytes - Step as Info\n",
PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
"abcdefghijklmnop", 16,
diff --git a/api-tests/dev_apis/crypto/test_c010/test_c010.c b/api-tests/dev_apis/crypto/test_c010/test_c010.c
index 5455c0a..2e29adb 100644
--- a/api-tests/dev_apis/crypto/test_c010/test_c010.c
+++ b/api-tests/dev_apis/crypto/test_c010/test_c010.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c010_crypto_list[] = {
+const client_test_t test_c010_crypto_list[] = {
NULL,
psa_key_attributes_set_get_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c010/test_c010.h b/api-tests/dev_apis/crypto/test_c010/test_c010.h
index 7159b5a..94f0d37 100644
--- a/api-tests/dev_apis/crypto/test_c010/test_c010.h
+++ b/api-tests/dev_apis/crypto/test_c010/test_c010.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c010_crypto_list[];
+extern const client_test_t test_c010_crypto_list[];
int32_t psa_key_attributes_set_get_test(caller_security_t caller);
#endif /* _TEST_C010_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c010/test_data.h b/api-tests/dev_apis/crypto/test_c010/test_data.h
index d6dc65d..2854892 100644
--- a/api-tests/dev_apis/crypto/test_c010/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c010/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -28,7 +28,7 @@
psa_key_lifetime_t lifetime;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
{"Test set/get key attributes\n", PSA_KEY_TYPE_AES, BYTES_TO_BITS(AES_16B_KEY_SIZE),
PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, 0x1234,
PSA_KEY_LIFETIME_PERSISTENT
diff --git a/api-tests/dev_apis/crypto/test_c011/test_c011.c b/api-tests/dev_apis/crypto/test_c011/test_c011.c
index 4abab81..5f15b18 100644
--- a/api-tests/dev_apis/crypto/test_c011/test_c011.c
+++ b/api-tests/dev_apis/crypto/test_c011/test_c011.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c011_crypto_list[] = {
+const client_test_t test_c011_crypto_list[] = {
NULL,
psa_hash_setup_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c011/test_c011.h b/api-tests/dev_apis/crypto/test_c011/test_c011.h
index b16284b..d89176d 100644
--- a/api-tests/dev_apis/crypto/test_c011/test_c011.h
+++ b/api-tests/dev_apis/crypto/test_c011/test_c011.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c011_crypto_list[];
+extern const client_test_t test_c011_crypto_list[];
int32_t psa_hash_setup_test(caller_security_t caller);
int32_t psa_get_key_lifetime_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c011/test_data.h b/api-tests/dev_apis/crypto/test_c011/test_data.h
index 64b233b..b2300c9 100644
--- a/api-tests/dev_apis/crypto/test_c011/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c011/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_setup with MD2 algorithm\n",
PSA_ALG_MD2, PSA_SUCCESS,
diff --git a/api-tests/dev_apis/crypto/test_c012/test_c012.c b/api-tests/dev_apis/crypto/test_c012/test_c012.c
index 3e3cc21..d290702 100644
--- a/api-tests/dev_apis/crypto/test_c012/test_c012.c
+++ b/api-tests/dev_apis/crypto/test_c012/test_c012.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c012_crypto_list[] = {
+const client_test_t test_c012_crypto_list[] = {
NULL,
psa_hash_update_test,
psa_hash_update_invalid_handle,
diff --git a/api-tests/dev_apis/crypto/test_c012/test_c012.h b/api-tests/dev_apis/crypto/test_c012/test_c012.h
index acbf777..b541d99 100644
--- a/api-tests/dev_apis/crypto/test_c012/test_c012.h
+++ b/api-tests/dev_apis/crypto/test_c012/test_c012.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c012_crypto_list[];
+extern const client_test_t test_c012_crypto_list[];
int32_t psa_hash_update_test(caller_security_t caller);
int32_t psa_hash_update_invalid_handle(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c012/test_data.h b/api-tests/dev_apis/crypto/test_c012/test_data.h
index f5c4f52..fdbef81 100644
--- a/api-tests/dev_apis/crypto/test_c012/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c012/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,7 +25,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_update with MD2 algorithm\n",
PSA_ALG_MD2, "Hello World", 11, PSA_SUCCESS,
diff --git a/api-tests/dev_apis/crypto/test_c013/test_c013.c b/api-tests/dev_apis/crypto/test_c013/test_c013.c
index 772ea61..6477465 100644
--- a/api-tests/dev_apis/crypto/test_c013/test_c013.c
+++ b/api-tests/dev_apis/crypto/test_c013/test_c013.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c013_crypto_list[] = {
+const client_test_t test_c013_crypto_list[] = {
NULL,
psa_hash_verify_test,
psa_hash_verify_inactive_operation_handle,
diff --git a/api-tests/dev_apis/crypto/test_c013/test_c013.h b/api-tests/dev_apis/crypto/test_c013/test_c013.h
index 2e72127..8dd0646 100644
--- a/api-tests/dev_apis/crypto/test_c013/test_c013.h
+++ b/api-tests/dev_apis/crypto/test_c013/test_c013.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c013_crypto_list[];
+extern const client_test_t test_c013_crypto_list[];
int32_t psa_hash_verify_test(caller_security_t caller);
int32_t psa_hash_verify_inactive_operation_handle(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c013/test_data.h b/api-tests/dev_apis/crypto/test_c013/test_data.h
index 520309a..463e4e3 100644
--- a/api-tests/dev_apis/crypto/test_c013/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c013/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
0xcb, 0x7b, 0x00, 0xae, 0xa8, 0x91, 0x49, 0x9c, 0xf4, 0xef, 0x6a, 0x03, 0xc8, 0xa8, 0x3f, 0xe3,
0x7c, 0x3f, 0x7b, 0xaf};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_verify with MD2 algorithm\n",
PSA_ALG_MD2, 0xbd, 1,
diff --git a/api-tests/dev_apis/crypto/test_c014/test_c014.c b/api-tests/dev_apis/crypto/test_c014/test_c014.c
index c1eda35..796072b 100644
--- a/api-tests/dev_apis/crypto/test_c014/test_c014.c
+++ b/api-tests/dev_apis/crypto/test_c014/test_c014.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c014_crypto_list[] = {
+const client_test_t test_c014_crypto_list[] = {
NULL,
psa_hash_finish_test,
psa_hash_finish_inactive_operation_handle,
diff --git a/api-tests/dev_apis/crypto/test_c014/test_c014.h b/api-tests/dev_apis/crypto/test_c014/test_c014.h
index 81b92ee..412c0c2 100644
--- a/api-tests/dev_apis/crypto/test_c014/test_c014.h
+++ b/api-tests/dev_apis/crypto/test_c014/test_c014.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c014_crypto_list[];
+extern const client_test_t test_c014_crypto_list[];
int32_t psa_hash_finish_test(caller_security_t caller);
int32_t psa_hash_finish_inactive_operation_handle(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c014/test_data.h b/api-tests/dev_apis/crypto/test_c014/test_data.h
index fb0fdb4..b8d77f6 100644
--- a/api-tests/dev_apis/crypto/test_c014/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c014/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
0xcb, 0x7b, 0x00, 0xae, 0xa8, 0x91, 0x49, 0x9c, 0xf4, 0xef, 0x6a, 0x03, 0xc8, 0xa8, 0x3f, 0xe3,
0x7c, 0x3f, 0x7b, 0xaf};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_finish with MD2 algorithm\n",
PSA_ALG_MD2, 0xbd, 1,
diff --git a/api-tests/dev_apis/crypto/test_c015/test_c015.c b/api-tests/dev_apis/crypto/test_c015/test_c015.c
index cd5c96d..21f736b 100644
--- a/api-tests/dev_apis/crypto/test_c015/test_c015.c
+++ b/api-tests/dev_apis/crypto/test_c015/test_c015.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c015_crypto_list[] = {
+const client_test_t test_c015_crypto_list[] = {
NULL,
psa_hash_abort_test,
psa_hash_abort_before_operation_finish,
diff --git a/api-tests/dev_apis/crypto/test_c015/test_c015.h b/api-tests/dev_apis/crypto/test_c015/test_c015.h
index b3edc26..28f4b62 100644
--- a/api-tests/dev_apis/crypto/test_c015/test_c015.h
+++ b/api-tests/dev_apis/crypto/test_c015/test_c015.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c015_crypto_list[];
+extern const client_test_t test_c015_crypto_list[];
int32_t psa_hash_abort_test(caller_security_t caller);
int32_t psa_hash_abort_before_operation_finish(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c015/test_data.h b/api-tests/dev_apis/crypto/test_c015/test_data.h
index 98ec64c..a9c20f8 100644
--- a/api-tests/dev_apis/crypto/test_c015/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c015/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_abort with MD2 algorithm\n",
PSA_ALG_MD2, PSA_SUCCESS,
diff --git a/api-tests/dev_apis/crypto/test_c016/test_c016.c b/api-tests/dev_apis/crypto/test_c016/test_c016.c
index 58f847f..347990e 100644
--- a/api-tests/dev_apis/crypto/test_c016/test_c016.c
+++ b/api-tests/dev_apis/crypto/test_c016/test_c016.c
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c016_crypto_list[] = {
+const client_test_t test_c016_crypto_list[] = {
NULL,
psa_generate_key_test,
NULL,
@@ -41,6 +41,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t get_attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -69,14 +70,14 @@
val->crypto_function(VAL_CRYPTO_SET_KEY_ALGORITHM, &attributes, check1[i].key_alg);
/* Generate the key */
- status = val->crypto_function(VAL_CRYPTO_GENERATE_KEY, &attributes, &check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_GENERATE_KEY, &attributes, &key_handle);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(3));
if (check1[i].expected_status != PSA_SUCCESS)
continue;
/* Get the attributes of the imported key and check if it matches the given value */
- status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
&get_attributes);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
@@ -93,7 +94,7 @@
TEST_ASSERT_EQUAL(get_key_alg, check1[i].key_alg, TEST_CHECKPOINT_NUM(8));
/* Export a key in binary format */
- status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, check1[i].key_handle, data,
+ status = val->crypto_function(VAL_CRYPTO_EXPORT_KEY, key_handle, data,
BUFFER_SIZE, &length);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
@@ -105,7 +106,7 @@
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &get_attributes);
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
}
diff --git a/api-tests/dev_apis/crypto/test_c016/test_c016.h b/api-tests/dev_apis/crypto/test_c016/test_c016.h
index 86ed985..7d894ae 100644
--- a/api-tests/dev_apis/crypto/test_c016/test_c016.h
+++ b/api-tests/dev_apis/crypto/test_c016/test_c016.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c016_crypto_list[];
+extern const client_test_t test_c016_crypto_list[];
int32_t psa_generate_key_test(caller_security_t caller);
#endif /* _TEST_C016_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c016/test_data.h b/api-tests/dev_apis/crypto/test_c016/test_data.h
index 904ab4b..4f5b026 100644
--- a/api-tests/dev_apis/crypto/test_c016/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c016/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
psa_key_usage_t usage;
psa_algorithm_t key_alg;
@@ -29,45 +28,45 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_generate_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_generate_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
BYTES_TO_BITS(AES_16B_KEY_SIZE), {AES_16B_KEY_SIZE, AES_16B_KEY_SIZE}, PSA_SUCCESS
},
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_generate_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_generate_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(AES_24B_KEY_SIZE),
BYTES_TO_BITS(AES_24B_KEY_SIZE), {AES_24B_KEY_SIZE, AES_24B_KEY_SIZE}, PSA_SUCCESS
},
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_generate_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_generate_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(AES_32B_KEY_SIZE),
BYTES_TO_BITS(AES_32B_KEY_SIZE), {AES_32B_KEY_SIZE, AES_32B_KEY_SIZE}, PSA_SUCCESS
},
#endif
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_generate_key with DES 64 bit key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_generate_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(DES_8B_KEY_SIZE),
BYTES_TO_BITS(DES_8B_KEY_SIZE), {DES_8B_KEY_SIZE, DES_8B_KEY_SIZE}, PSA_SUCCESS
},
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_generate_key with Triple DES 2-Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_generate_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(DES3_2KEY_SIZE),
BYTES_TO_BITS(DES3_2KEY_SIZE), {DES3_2KEY_SIZE, DES3_2KEY_SIZE}, PSA_SUCCESS
},
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_generate_key with Triple DES 3-Key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_generate_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(DES3_3KEY_SIZE),
BYTES_TO_BITS(DES3_3KEY_SIZE), {DES3_3KEY_SIZE, DES3_3KEY_SIZE}, PSA_SUCCESS
},
@@ -78,7 +77,7 @@
#ifdef ARCH_TEST_RSA
#ifdef ARCH_TEST_RSA_2048
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_generate_key with RSA 2048 Keypair\n", 7, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_generate_key with RSA 2048 Keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN | PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
2048, 2048, {1190, 1194}, PSA_SUCCESS
},
@@ -88,7 +87,7 @@
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
-{"Test psa_generate_key with ECC KeyPair\n", 8,
+{"Test psa_generate_key with ECC KeyPair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, 224,
224, {28, 28}, PSA_SUCCESS
@@ -98,19 +97,19 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_generate_key with RSA 2048 Public key\n", 9, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_generate_key with RSA 2048 Public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN | PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
2048, 2048, {1190, 1194}, PSA_ERROR_NOT_SUPPORTED
},
#endif
#endif
-{"Test psa_generate_key with invalid key type\n", 10, 0,
+{"Test psa_generate_key with invalid key type\n", 0,
PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
BYTES_TO_BITS(AES_16B_KEY_SIZE), {AES_16B_KEY_SIZE, AES_16B_KEY_SIZE}, PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_generate_key with invalid usage flags\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_generate_key with invalid usage flags\n", PSA_KEY_TYPE_AES,
PSA_KEY_USAGE_INVALID, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
BYTES_TO_BITS(AES_16B_KEY_SIZE), {AES_16B_KEY_SIZE, AES_16B_KEY_SIZE}, PSA_ERROR_INVALID_ARGUMENT
},
diff --git a/api-tests/dev_apis/crypto/test_c017/test_c017.c b/api-tests/dev_apis/crypto/test_c017/test_c017.c
index 9088ddf..6fdcb48 100644
--- a/api-tests/dev_apis/crypto/test_c017/test_c017.c
+++ b/api-tests/dev_apis/crypto/test_c017/test_c017.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c017_crypto_list[] = {
+const client_test_t test_c017_crypto_list[] = {
NULL,
psa_generate_random_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c017/test_c017.h b/api-tests/dev_apis/crypto/test_c017/test_c017.h
index aaf24a0..56f5aa2 100644
--- a/api-tests/dev_apis/crypto/test_c017/test_c017.h
+++ b/api-tests/dev_apis/crypto/test_c017/test_c017.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c017_crypto_list[];
+extern const client_test_t test_c017_crypto_list[];
int32_t psa_generate_random_test(caller_security_t caller);
#endif /* _TEST_C017_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c017/test_data.h b/api-tests/dev_apis/crypto/test_c017/test_data.h
index 53a7c24..49b7a5f 100644
--- a/api-tests/dev_apis/crypto/test_c017/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c017/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
{"Test psa_generate_random to get 0 Byte data\n", 0, PSA_SUCCESS
},
diff --git a/api-tests/dev_apis/crypto/test_c018/test_c018.c b/api-tests/dev_apis/crypto/test_c018/test_c018.c
index 154d4d6..5754495 100644
--- a/api-tests/dev_apis/crypto/test_c018/test_c018.c
+++ b/api-tests/dev_apis/crypto/test_c018/test_c018.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c018_crypto_list[] = {
+const client_test_t test_c018_crypto_list[] = {
NULL,
psa_key_derivation_input_key_test,
psa_key_derivation_input_key_negative_test,
@@ -37,6 +37,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -97,7 +98,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (check1[i].expected_status == PSA_SUCCESS)
@@ -106,7 +107,7 @@
* failure.
*/
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check1[i].step, check1[i].key_handle);
+ check1[i].step, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_BAD_STATE, TEST_CHECKPOINT_NUM(4));
}
@@ -117,7 +118,7 @@
/* Provide an input for key derivation or key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check1[i].step, check1[i].key_handle);
+ check1[i].step, key_handle);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(6));
if (check1[i].expected_status != PSA_SUCCESS)
@@ -129,12 +130,12 @@
continue;
}
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Provide an input for key derivation or key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check1[i].step, check1[i].key_handle);
+ check1[i].step, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(9));
/* Abort the key derivation operation */
@@ -153,6 +154,7 @@
int32_t i, status;
int num_checks = sizeof(check2)/sizeof(check2[0]);
psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_handle_t key_handle = 11;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -175,7 +177,7 @@
/* Provide an input for key derivation or key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check2[i].step, check2[i].key_handle);
+ check2[i].step, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(4));
/* Abort the key derivation operation */
diff --git a/api-tests/dev_apis/crypto/test_c018/test_c018.h b/api-tests/dev_apis/crypto/test_c018/test_c018.h
index 02555ba..429379a 100644
--- a/api-tests/dev_apis/crypto/test_c018/test_c018.h
+++ b/api-tests/dev_apis/crypto/test_c018/test_c018.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c018_crypto_list[];
+extern const client_test_t test_c018_crypto_list[];
int32_t psa_key_derivation_input_key_test(caller_security_t caller);
int32_t psa_key_derivation_input_key_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c018/test_data.h b/api-tests/dev_apis/crypto/test_c018/test_data.h
index 56d26fc..14d777b 100644
--- a/api-tests/dev_apis/crypto/test_c018/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c018/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -163,9 +162,9 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
-{"Test psa_key_derivation_input_key 16 Byte Key\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key 16 Byte Key\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -173,7 +172,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_SUCCESS
},
-{"Test psa_key_derivation_input_key with invalid usage\n", 2, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with invalid usage\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -181,7 +180,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_ERROR_NOT_PERMITTED
},
-{"Test psa_key_derivation_input_key with step as label\n", 3, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with step as label\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -189,7 +188,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_key_derivation_input_key with step as info\n", 4, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with step as info\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -197,7 +196,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_key_derivation_input_key with step as seed\n", 5, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with step as seed\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -205,7 +204,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_key_derivation_input_key with step as salt\n", 6, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with step as salt\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -214,7 +213,7 @@
},
#ifdef ARCH_TEST_AES_192
-{"Test psa_key_derivation_input_key with key type as AES(not derive)\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_key_derivation_input_key with key type as AES(not derive)\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -223,7 +222,7 @@
},
#endif
-{"Test psa_key_derivation_input_key incorrect key algorithm\n", 8, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key incorrect key algorithm\n", PSA_KEY_TYPE_DERIVE,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -234,14 +233,14 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_key_derivation_input_key 2048 RSA public key\n", 9, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_key_derivation_input_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256), PSA_KEY_DERIVATION_INPUT_SECRET,
PSA_ALG_HKDF(PSA_ALG_SHA_256),
2048, 270, PSA_ERROR_INVALID_ARGUMENT,
},
-{"Test psa_key_derivation_input_key with RSA 2048 keypair\n", 10, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_key_derivation_input_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256), PSA_KEY_DERIVATION_INPUT_SECRET,
PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -250,7 +249,7 @@
#endif
#endif
-{"Test psa_key_derivation_input_key with zero as step\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key with zero as step\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
@@ -259,9 +258,9 @@
},
};
-static test_data check2[] = {
+static const test_data check2[] = {
-{"Test psa_key_derivation_input_key invalid handle\n", 11, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_input_key invalid handle\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_DERIVE, PSA_ALG_HKDF(PSA_ALG_SHA_256),
diff --git a/api-tests/dev_apis/crypto/test_c019/test_c019.c b/api-tests/dev_apis/crypto/test_c019/test_c019.c
index 7593f8c..f2dc24b 100644
--- a/api-tests/dev_apis/crypto/test_c019/test_c019.c
+++ b/api-tests/dev_apis/crypto/test_c019/test_c019.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c019.h"
#include "test_data.h"
-client_test_t test_c019_crypto_list[] = {
+const client_test_t test_c019_crypto_list[] = {
NULL,
psa_key_derivation_key_agreement_test,
psa_key_derivation_key_agreement_negative_test,
@@ -35,6 +35,7 @@
int32_t i, status;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -62,7 +63,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set up a key agreement operation */
@@ -72,7 +73,7 @@
/* Perform a key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT, &operation,
- check1[i].step, check1[i].key_handle, check1[i].peer_key,
+ check1[i].step, key_handle, check1[i].peer_key,
check1[i].peer_key_length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(5));
@@ -87,7 +88,7 @@
continue;
/* Destroy a key and restore the slot to its default state */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
}
@@ -98,7 +99,8 @@
{
int32_t i, status;
int num_checks = sizeof(check2)/sizeof(check2[0]);
- psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_handle_t key_handle = 8;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -119,7 +121,7 @@
/* Set up a key agreement operation */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT, &operation,
- check2[i].step, check2[i].key_handle, check2[i].peer_key,
+ check2[i].step, key_handle, check2[i].peer_key,
check2[i].peer_key_length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(4));
diff --git a/api-tests/dev_apis/crypto/test_c019/test_c019.h b/api-tests/dev_apis/crypto/test_c019/test_c019.h
index 40f2a36..33e9fdb 100644
--- a/api-tests/dev_apis/crypto/test_c019/test_c019.h
+++ b/api-tests/dev_apis/crypto/test_c019/test_c019.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c019_crypto_list[];
+extern const client_test_t test_c019_crypto_list[];
int32_t psa_key_derivation_key_agreement_test(caller_security_t caller);
int32_t psa_key_derivation_key_agreement_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c019/test_data.h b/api-tests/dev_apis/crypto/test_c019/test_data.h
index 4ce7bd7..0e6f24b 100644
--- a/api-tests/dev_apis/crypto/test_c019/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c019/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[85];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[91];
uint32_t key_length;
@@ -32,10 +31,10 @@
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_ECDH
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_key_derivation_key_agreement - ECDH SECP256R1\n", 1,
+{"Test psa_key_derivation_key_agreement - ECDH SECP256R1\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -50,7 +49,7 @@
65, PSA_SUCCESS
},
-{"Test psa_key_derivation_key_agreement - Invalid step\n", 2,
+{"Test psa_key_derivation_key_agreement - Invalid step\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -68,7 +67,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP384R1
-{"Test psa_key_derivation_key_agreement - ECDH SECP384R1\n", 3,
+{"Test psa_key_derivation_key_agreement - ECDH SECP384R1\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP384R1),
{0x09, 0x9f, 0x3c, 0x70, 0x34, 0xd4, 0xa2, 0xc6, 0x99, 0x88, 0x4d, 0x73, 0xa3,
0x75, 0xa6, 0x7f, 0x76, 0x24, 0xef, 0x7c, 0x6b, 0x3c, 0x0f, 0x16, 0x06, 0x47,
@@ -90,7 +89,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_key_derivation_key_agreement - Invalid usage\n", 4,
+{"Test psa_key_derivation_key_agreement - Invalid usage\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -111,7 +110,7 @@
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_HKDF
-{"Test psa_key_derivation_key_agreement - KDF instead of a key agreement algorithm\n", 5,
+{"Test psa_key_derivation_key_agreement - KDF instead of a key agreement algorithm\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -129,7 +128,7 @@
#endif
#ifdef ARCH_TEST_ECDH
-{"Test psa_key_derivation_key_agreement - Public key on different curve\n", 6,
+{"Test psa_key_derivation_key_agreement - Public key on different curve\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -148,7 +147,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_key_derivation_key_agreement - Public key instead of private key\n", 7,
+{"Test psa_key_derivation_key_agreement - Public key instead of private key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0x04, 0xd1, 0x2d, 0xfb, 0x52, 0x89, 0xc8, 0xd4, 0xf8, 0x12, 0x08, 0xb7, 0x02,
0x70, 0x39, 0x8c, 0x34, 0x22, 0x96, 0x97, 0x0a, 0x0b, 0xcc, 0xb7, 0x4c, 0x73,
@@ -169,10 +168,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_ECDH
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_key_derivation_key_agreement - Negative case\n", 8,
+{"Test psa_key_derivation_key_agreement - Negative case\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
diff --git a/api-tests/dev_apis/crypto/test_c020/test_c020.c b/api-tests/dev_apis/crypto/test_c020/test_c020.c
index b4f4037..b954fdb 100644
--- a/api-tests/dev_apis/crypto/test_c020/test_c020.c
+++ b/api-tests/dev_apis/crypto/test_c020/test_c020.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c020_crypto_list[] = {
+const client_test_t test_c020_crypto_list[] = {
NULL,
psa_key_derivation_output_bytes_test,
NULL,
@@ -36,6 +36,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -66,7 +67,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
}
@@ -85,7 +86,7 @@
{
/* Provide an input for key derivation or key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check1[i].step, check1[i].key_handle);
+ check1[i].step, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
}
else
@@ -102,7 +103,7 @@
if (check1[i].step == PSA_KEY_DERIVATION_INPUT_SECRET)
{
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c020/test_c020.h b/api-tests/dev_apis/crypto/test_c020/test_c020.h
index 3e3cdb3..ce60af6 100644
--- a/api-tests/dev_apis/crypto/test_c020/test_c020.h
+++ b/api-tests/dev_apis/crypto/test_c020/test_c020.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c020_crypto_list[];
+extern const client_test_t test_c020_crypto_list[];
int32_t psa_key_derivation_output_bytes_test(caller_security_t caller);
#endif /* _TEST_C020_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c020/test_data.h b/api-tests/dev_apis/crypto/test_c020/test_data.h
index e1c6bbf..de8ec52 100644
--- a/api-tests/dev_apis/crypto/test_c020/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c020/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -33,8 +32,8 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
-{"Test psa_key_derivation_output_bytes - Key\n", 1, PSA_KEY_TYPE_DERIVE,
+static const test_data check1[] = {
+{"Test psa_key_derivation_output_bytes - Key\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 42, PSA_KEY_USAGE_DERIVE,
@@ -43,31 +42,31 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_bytes - Info\n", 2, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_bytes - Info\n", PSA_KEY_TYPE_DERIVE,
{0}, 0, 42, 0, PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
PSA_KEY_DERIVATION_INPUT_INFO, 42, "This is the info", 16,
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_bytes - Salt\n", 3, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_bytes - Salt\n", PSA_KEY_TYPE_DERIVE,
{0}, 0, 42, 0, PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
PSA_KEY_DERIVATION_INPUT_SALT, 42, "This is the info", 16,
PSA_ERROR_BAD_STATE
},
-{"Test psa_key_derivation_output_bytes - Label\n", 4, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_bytes - Label\n", PSA_KEY_TYPE_DERIVE,
{0}, 0, 42, 0, PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
PSA_KEY_DERIVATION_INPUT_LABEL, 42, "This is the info", 16,
PSA_ERROR_BAD_STATE
},
-{"Test psa_key_derivation_output_bytes - Seed\n", 5, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_bytes - Seed\n", PSA_KEY_TYPE_DERIVE,
{0}, 0, 42, 0, PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, PSA_ALG_HKDF(PSA_ALG_SHA_256)),
PSA_KEY_DERIVATION_INPUT_SEED, 42, "This is the info", 16,
PSA_ERROR_BAD_STATE
},
-{"Test psa_key_derivation_output_bytes - Greater Capacity than available\n", 6, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_bytes - Greater Capacity than available\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, BUFFER_SIZE, PSA_KEY_USAGE_DERIVE,
diff --git a/api-tests/dev_apis/crypto/test_c021/test_c021.c b/api-tests/dev_apis/crypto/test_c021/test_c021.c
index 78a3571..6d3ff4e 100644
--- a/api-tests/dev_apis/crypto/test_c021/test_c021.c
+++ b/api-tests/dev_apis/crypto/test_c021/test_c021.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
#define SLOT_1 1
#define SLOT_2 2
-client_test_t test_c021_crypto_list[] = {
+const client_test_t test_c021_crypto_list[] = {
NULL,
psa_key_derivation_output_key_test,
NULL,
@@ -40,6 +40,7 @@
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t derv_attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
+ psa_key_handle_t tdata_key_handle;
if (num_checks == 0)
{
@@ -70,7 +71,7 @@
{
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &tdata_key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
}
@@ -89,7 +90,7 @@
{
/* Provide an input for key derivation or key agreement */
status = val->crypto_function(VAL_CRYPTO_KEY_DERIVATION_INPUT_KEY, &operation,
- check1[i].step, check1[i].key_handle);
+ check1[i].step, tdata_key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
}
else
@@ -114,7 +115,7 @@
if (check1[i].step == PSA_KEY_DERIVATION_INPUT_SECRET)
{
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, tdata_key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
}
diff --git a/api-tests/dev_apis/crypto/test_c021/test_c021.h b/api-tests/dev_apis/crypto/test_c021/test_c021.h
index 787fa99..90daec8 100644
--- a/api-tests/dev_apis/crypto/test_c021/test_c021.h
+++ b/api-tests/dev_apis/crypto/test_c021/test_c021.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c021_crypto_list[];
+extern const client_test_t test_c021_crypto_list[];
int32_t psa_key_derivation_output_key_test(caller_security_t caller);
#endif /* _TEST_C021_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c021/test_data.h b/api-tests/dev_apis/crypto/test_c021/test_data.h
index 6a31c78..2b89b63 100644
--- a/api-tests/dev_apis/crypto/test_c021/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c021/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -36,8 +35,8 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
-{"Test psa_key_derivation_output_key - Key\n", 1, PSA_KEY_TYPE_DERIVE,
+static const test_data check1[] = {
+{"Test psa_key_derivation_output_key - Key\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -48,7 +47,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Info\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Info\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -59,7 +58,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Label\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Label\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -70,7 +69,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Seed\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Seed\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -81,7 +80,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Salt\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Salt\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -92,7 +91,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - DES key export\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - DES key export\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -103,7 +102,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Greater Capacity than available\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Greater Capacity than available\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -114,7 +113,7 @@
PSA_ERROR_INSUFFICIENT_DATA
},
-{"Test psa_key_derivation_output_key - ECC Public key\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - ECC Public key\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -124,7 +123,7 @@
PSA_ERROR_NOT_SUPPORTED,
},
-{"Test psa_key_derivation_output_key - ECC keypair\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - ECC keypair\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -135,7 +134,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - RSA Public Key", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - RSA Public Key", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -146,7 +145,7 @@
PSA_ERROR_NOT_SUPPORTED,
},
-{"Test psa_key_derivation_output_key - RSA keypair\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - RSA keypair\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
@@ -157,7 +156,7 @@
PSA_SUCCESS
},
-{"Test psa_key_derivation_output_key - Invalid key size\n", 1, PSA_KEY_TYPE_DERIVE,
+{"Test psa_key_derivation_output_key - Invalid key size\n", PSA_KEY_TYPE_DERIVE,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DERIVE,
diff --git a/api-tests/dev_apis/crypto/test_c022/test_c022.c b/api-tests/dev_apis/crypto/test_c022/test_c022.c
index 1949c73..3c96266 100644
--- a/api-tests/dev_apis/crypto/test_c022/test_c022.c
+++ b/api-tests/dev_apis/crypto/test_c022/test_c022.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +22,7 @@
#include "val_crypto.h"
-client_test_t test_c022_crypto_list[] = {
+const client_test_t test_c022_crypto_list[] = {
NULL,
psa_key_derivation_abort_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c022/test_c022.h b/api-tests/dev_apis/crypto/test_c022/test_c022.h
index 7823370..12377a2 100644
--- a/api-tests/dev_apis/crypto/test_c022/test_c022.h
+++ b/api-tests/dev_apis/crypto/test_c022/test_c022.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c022_crypto_list[];
+extern const client_test_t test_c022_crypto_list[];
int32_t psa_key_derivation_abort_test(caller_security_t caller);
#endif /* _TEST_C022_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c023/test_c023.c b/api-tests/dev_apis/crypto/test_c023/test_c023.c
index 5f019a4..5fee88e 100644
--- a/api-tests/dev_apis/crypto/test_c023/test_c023.c
+++ b/api-tests/dev_apis/crypto/test_c023/test_c023.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c023_crypto_list[] = {
+const client_test_t test_c023_crypto_list[] = {
NULL,
psa_key_derivation_set_get_capacity_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c023/test_c023.h b/api-tests/dev_apis/crypto/test_c023/test_c023.h
index 1fc9fbf..1e422d4 100644
--- a/api-tests/dev_apis/crypto/test_c023/test_c023.h
+++ b/api-tests/dev_apis/crypto/test_c023/test_c023.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c023_crypto_list[];
+extern const client_test_t test_c023_crypto_list[];
int32_t psa_key_derivation_set_get_capacity_test(caller_security_t caller);
#endif /* _TEST_C023_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c023/test_data.h b/api-tests/dev_apis/crypto/test_c023/test_data.h
index 1bc6455..86be318 100644
--- a/api-tests/dev_apis/crypto/test_c023/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c023/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
{"Test psa_key_derivation_set_get_capacity - Less than operation's capacity\n",
PSA_ALG_HKDF(PSA_ALG_SHA_256), 42, PSA_SUCCESS
},
diff --git a/api-tests/dev_apis/crypto/test_c024/test_c024.c b/api-tests/dev_apis/crypto/test_c024/test_c024.c
index ae709d6..a487b4a 100644
--- a/api-tests/dev_apis/crypto/test_c024/test_c024.c
+++ b/api-tests/dev_apis/crypto/test_c024/test_c024.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c024.h"
#include "test_data.h"
-client_test_t test_c024_crypto_list[] = {
+const client_test_t test_c024_crypto_list[] = {
NULL,
psa_aead_encrypt_test,
NULL,
@@ -49,6 +49,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
uint8_t *nonce, *additional_data;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -76,7 +77,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (is_buffer_empty(check1[i].nonce, check1[i].nonce_length) == TRUE)
@@ -96,7 +97,7 @@
additional_data = check1[i].additional_data;
/* Process an authenticated encryption operation */
- status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT, key_handle,
check1[i].key_alg, nonce, check1[i].nonce_length, additional_data,
check1[i].additional_data_length, check1[i].plaintext,
check1[i].plaintext_length, ciphertext, check1[i].ciphertext_size,
@@ -106,7 +107,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -122,14 +123,14 @@
TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
/* Process an authenticated encryption operation on a destroyed key*/
- status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT, key_handle,
check1[i].key_alg, nonce, check1[i].nonce_length, additional_data,
check1[i].additional_data_length, check1[i].plaintext,
check1[i].plaintext_length, ciphertext, check1[i].ciphertext_size,
diff --git a/api-tests/dev_apis/crypto/test_c024/test_c024.h b/api-tests/dev_apis/crypto/test_c024/test_c024.h
index 3b61390..7d39841 100644
--- a/api-tests/dev_apis/crypto/test_c024/test_c024.h
+++ b/api-tests/dev_apis/crypto/test_c024/test_c024.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c024_crypto_list[];
+extern const client_test_t test_c024_crypto_list[];
int32_t psa_aead_encrypt_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c024/test_data.h b/api-tests/dev_apis/crypto/test_c024/test_data.h
index dfe2f1f..6a493b2 100644
--- a/api-tests/dev_apis/crypto/test_c024/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c024/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -40,7 +39,7 @@
static test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_encrypt - CCM - 16B AES - 13B nounce & 8B addi data\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - CCM - 16B AES - 13B nounce & 8B addi data\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
@@ -55,7 +54,7 @@
BUFFER_SIZE, 39, PSA_SUCCESS
},
-{"Test psa_aead_encrypt - AES-CCM\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - AES-CCM\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
{0x48, 0xc0, 0x90, 0x69, 0x30, 0x56, 0x1e, 0x0a, 0xb0, 0xef, 0x4c, 0xd9, 0x72},
@@ -71,7 +70,7 @@
0xe9}, BUFFER_SIZE, 40, PSA_SUCCESS
},
-{"Test psa_aead_encrypt - AES-CCM 24 bytes Tag length = 4\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -93,7 +92,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
{"Test psa_aead_encrypt - GCM - 16B AES - 12B Nounce & 12B addi data\n",
-4, PSA_KEY_TYPE_AES,
+PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM,
{0x57, 0x69, 0x0e, 0x43, 0x4e, 0x28, 0x00, 0x00, 0xa2, 0xfc, 0xa1, 0xa3}, 12,
@@ -112,7 +111,7 @@
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_aead_encrypt - DES Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_aead_encrypt - DES Key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B}, 12,
@@ -126,7 +125,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CIPER_MODE_CFB
-{"Test psa_aead_encrypt - Unsupported Algorithm\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CFB,
{0}, 13, {0}, 0, "hello world", 11,
@@ -138,7 +137,7 @@
#endif
#ifdef ARCH_TEST_GCM
-{"Test psa_aead_encrypt - Invalid key usage\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - Invalid key usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM,
{0}, 13, {0}, 0, "hello world", 11,
@@ -148,7 +147,7 @@
BUFFER_SIZE, 27, PSA_ERROR_NOT_PERMITTED
},
-{"Test psa_aead_encrypt - Small output buffer size\n", 8, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt - Small output buffer size\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM,
{0}, 13, {0}, 0, "hello world", 11,
diff --git a/api-tests/dev_apis/crypto/test_c025/test_c025.c b/api-tests/dev_apis/crypto/test_c025/test_c025.c
index 51e6f72..8049b08 100644
--- a/api-tests/dev_apis/crypto/test_c025/test_c025.c
+++ b/api-tests/dev_apis/crypto/test_c025/test_c025.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c025.h"
#include "test_data.h"
-client_test_t test_c025_crypto_list[] = {
+const client_test_t test_c025_crypto_list[] = {
NULL,
psa_aead_decrypt_test,
NULL,
@@ -49,6 +49,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
uint8_t *nonce, *additional_data;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -76,7 +77,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (is_buffer_empty(check1[i].nonce, check1[i].nonce_length) == TRUE)
@@ -96,7 +97,7 @@
additional_data = check1[i].additional_data;
/* Process an authenticated decryption operation */
- status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT, key_handle,
check1[i].key_alg, nonce, check1[i].nonce_length, additional_data,
check1[i].additional_data_length, check1[i].ciphertext, check1[i].ciphertext_size,
plaintext, check1[i].plaintext_size, &plaintext_length);
@@ -105,7 +106,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -120,14 +121,14 @@
TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
/* Process an authenticated decryption operation on a destroyed key handle */
- status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT, key_handle,
check1[i].key_alg, nonce, check1[i].nonce_length, additional_data,
check1[i].additional_data_length, check1[i].ciphertext, check1[i].ciphertext_size,
plaintext, check1[i].plaintext_size, &plaintext_length);
diff --git a/api-tests/dev_apis/crypto/test_c025/test_c025.h b/api-tests/dev_apis/crypto/test_c025/test_c025.h
index 1955edd..0c83c93 100644
--- a/api-tests/dev_apis/crypto/test_c025/test_c025.h
+++ b/api-tests/dev_apis/crypto/test_c025/test_c025.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c025_crypto_list[];
+extern const client_test_t test_c025_crypto_list[];
int32_t psa_aead_decrypt_test(caller_security_t caller);
int32_t psa_aead_decrypt_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c025/test_data.h b/api-tests/dev_apis/crypto/test_c025/test_data.h
index 82977ed..7aed327 100644
--- a/api-tests/dev_apis/crypto/test_c025/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c025/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -40,7 +39,7 @@
static test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CCM
-{"Test psa_aead_decrypt - CCM - 16B AES - 13B nounce & 8B addi data\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - CCM - 16B AES - 13B nounce & 8B addi data\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
@@ -55,7 +54,7 @@
39, 23, PSA_SUCCESS
},
-{"Test psa_aead_decrypt - AES-CCM\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - AES-CCM\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
{0x48, 0xc0, 0x90, 0x69, 0x30, 0x56, 0x1e, 0x0a, 0xb0, 0xef, 0x4c, 0xd9, 0x72},
@@ -71,7 +70,7 @@
0xe9}, 40, 24, PSA_SUCCESS
},
-{"Test psa_aead_decrypt - AES-CCM 24 bytes Tag length = 4\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -90,7 +89,7 @@
#endif
#ifdef ARCH_TEST_GCM
-{"Test psa_aead_decrypt - GCM - 16B AES - 12B Nounce & 12B addi data\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM,
{0x57, 0x69, 0x0e, 0x43, 0x4e, 0x28, 0x00, 0x00, 0xa2, 0xfc, 0xa1, 0xa3}, 12,
@@ -109,7 +108,7 @@
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_aead_decrypt - DES Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_aead_decrypt - DES Key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B}, 12,
@@ -123,7 +122,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CIPER_MODE_CFB
-{"Test psa_aead_decrypt - Unsupported Algorithm\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CFB,
{0}, 13, {0}, 0, "hello world", BUFFER_SIZE,
@@ -135,7 +134,7 @@
#endif
#ifdef ARCH_TEST_GCM
-{"Test psa_aead_decrypt - Invalid key usage\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decypt - Invalid key usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM,
{0}, 13, {0}, 0, "hello world", BUFFER_SIZE,
@@ -145,7 +144,7 @@
27, 11, PSA_ERROR_NOT_PERMITTED
},
-{"Test psa_aead_decrypt - Small output buffer size\n", 8, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - Small output buffer size\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM,
{0}, 13, {0}, 0, "hello world", 10,
@@ -157,7 +156,7 @@
#endif
#ifdef ARCH_TEST_CCM
-{"Test psa_aead_decrypt - Invalid cipher text\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - Invalid cipher text\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
@@ -172,7 +171,7 @@
39, 23, PSA_ERROR_INVALID_SIGNATURE
},
-{"Test psa_aead_decrypt - Invalid cipher text size\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - Invalid cipher text size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
@@ -187,7 +186,7 @@
38, 23, PSA_ERROR_INVALID_SIGNATURE
},
-{"Test psa_aead_decrypt - Invalid tag length 0\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt - Invalid tag length 0\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 0),
diff --git a/api-tests/dev_apis/crypto/test_c026/test_c026.c b/api-tests/dev_apis/crypto/test_c026/test_c026.c
index 1de9cae..fd77f1b 100644
--- a/api-tests/dev_apis/crypto/test_c026/test_c026.c
+++ b/api-tests/dev_apis/crypto/test_c026/test_c026.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c026.h"
#include "test_data.h"
-client_test_t test_c026_crypto_list[] = {
+const client_test_t test_c026_crypto_list[] = {
NULL,
psa_mac_sign_setup_test,
psa_mac_sign_setup_negative_test,
@@ -36,6 +35,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
int32_t i, status;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -64,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC calculation operation */
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Whether setup succeeded or failed, abort must succeed.
@@ -84,12 +84,12 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(6));
}
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Reset the key attributes and check if psa_import_key fails */
@@ -103,6 +103,7 @@
{
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
+ psa_key_handle_t key_handle = 11;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -118,7 +119,7 @@
g_test_count++);
/* Start a multipart MAC verification operation */
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check2[i].key_handle, check2[i].key_alg);
+ key_handle, check2[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
val->print(PRINT_TEST, "[Check %d] Test psa_mac_sign_setup zero as key handle\n",
diff --git a/api-tests/dev_apis/crypto/test_c026/test_c026.h b/api-tests/dev_apis/crypto/test_c026/test_c026.h
index fab5a56..29e2cca 100644
--- a/api-tests/dev_apis/crypto/test_c026/test_c026.h
+++ b/api-tests/dev_apis/crypto/test_c026/test_c026.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c026_crypto_list[];
+extern const client_test_t test_c026_crypto_list[];
int32_t psa_mac_sign_setup_test(caller_security_t caller);
int32_t psa_mac_sign_setup_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c026/test_data.h b/api-tests/dev_apis/crypto/test_c026/test_data.h
index 02fc148..306522a 100644
--- a/api-tests/dev_apis/crypto/test_c026/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c026/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -28,10 +27,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_sign_setup 64 Byte HMAC\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_setup 64 Byte HMAC\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -45,7 +44,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_sign_setup 16 Byte AES - CMAC\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_setup 16 Byte AES - CMAC\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
@@ -54,7 +53,7 @@
#endif
#ifdef ARCH_TEST_GMAC
-{"Test psa_mac_sign_setup 16 Byte AES - GMAC\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_setup 16 Byte AES - GMAC\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_GMAC,
@@ -64,7 +63,7 @@
#ifdef ARCH_TEST_CMAC
#ifdef ARCH_TEST_HMAC
-{"Test psa_mac_sign_setup incompactible HMAC for CMAC\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_setup incompactible HMAC for CMAC\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
0x0D, 0x0E, 0x0F},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
@@ -72,7 +71,7 @@
},
#endif
-{"Test psa_mac_sign_setup invalid usage\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_setup invalid usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_EXPORT, PSA_ALG_CMAC,
@@ -82,7 +81,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_sign_setup invalid key type\n", 7, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_mac_sign_setup invalid key type\n", PSA_KEY_TYPE_RAW_DATA,
{0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B,
0x0B, 0x0B, 0x0B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(PSA_ALG_SHA_256),
@@ -95,7 +94,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_TRUNCATED_MAC
-{"Test psa_mac_sign_setup truncated MAC too large\n", 8, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_setup truncated MAC too large\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -105,7 +104,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_mac_sign_setup truncated MAC too small\n", 9, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_setup truncated MAC too small\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -118,7 +117,7 @@
#endif
#ifdef ARCH_TEST_AES_128
-{"Test psa_mac_sign_setup bad algorithm (unknown MAC algorithm)\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_setup bad algorithm (unknown MAC algorithm)\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(0),
@@ -129,7 +128,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_mac_sign_setup bad algorithm (not a MAC algorithm)\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_setup bad algorithm (not a MAC algorithm)\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN, PSA_ALG_CBC_NO_PADDING,
@@ -139,10 +138,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_sign_setup 64 negative case\n", 11, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_setup 64 negative case\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
diff --git a/api-tests/dev_apis/crypto/test_c027/test_c027.c b/api-tests/dev_apis/crypto/test_c027/test_c027.c
index 89bcbf2..923ef59 100644
--- a/api-tests/dev_apis/crypto/test_c027/test_c027.c
+++ b/api-tests/dev_apis/crypto/test_c027/test_c027.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c027.h"
#include "test_data.h"
-client_test_t test_c027_crypto_list[] = {
+const client_test_t test_c027_crypto_list[] = {
NULL,
psa_mac_update_test,
psa_mac_update_invalid_operator_test,
@@ -38,6 +37,7 @@
size_t length;
psa_mac_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -51,7 +51,7 @@
for (i = 0; i < num_checks; i++)
{
- val->print(PRINT_TEST, "[Check %d] ", g_test_count++);
+ val->print(PRINT_TEST, "[Check %d] ", g_test_count++);
val->print(PRINT_TEST, check1[i].test_desc, 0);
memset(&operation, 0, sizeof(operation));
memset(data, 0, sizeof(data));
@@ -67,12 +67,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC calculation operation */
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Add a message fragment to a multipart MAC operation */
@@ -87,7 +87,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
continue;
@@ -108,7 +108,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
}
diff --git a/api-tests/dev_apis/crypto/test_c027/test_c027.h b/api-tests/dev_apis/crypto/test_c027/test_c027.h
index 69f72f1..71d3e9c 100644
--- a/api-tests/dev_apis/crypto/test_c027/test_c027.h
+++ b/api-tests/dev_apis/crypto/test_c027/test_c027.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c027_crypto_list[];
+extern const client_test_t test_c027_crypto_list[];
int32_t psa_mac_update_test(caller_security_t caller);
int32_t psa_mac_update_invalid_operator_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c027/test_data.h b/api-tests/dev_apis/crypto/test_c027/test_data.h
index 6537c7e..35eebf6 100644
--- a/api-tests/dev_apis/crypto/test_c027/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c027/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -30,10 +29,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_update 64 Byte HMAC SHA256\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_update 64 Byte HMAC SHA256\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -47,7 +46,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_update 16 Byte AES - CMAC\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_mac_update 16 Byte AES - CMAC\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, "hello world", 11, PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
@@ -58,7 +57,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_update 32 Byte HMAC SHA512\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_update 32 Byte HMAC SHA512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b},
diff --git a/api-tests/dev_apis/crypto/test_c028/test_c028.c b/api-tests/dev_apis/crypto/test_c028/test_c028.c
index 540af72..83963c0 100644
--- a/api-tests/dev_apis/crypto/test_c028/test_c028.c
+++ b/api-tests/dev_apis/crypto/test_c028/test_c028.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c028.h"
#include "test_data.h"
-client_test_t test_c028_crypto_list[] = {
+const client_test_t test_c028_crypto_list[] = {
NULL,
psa_mac_sign_finish_test,
NULL,
@@ -37,6 +36,7 @@
size_t length;
psa_mac_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -66,12 +66,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC calculation operation */
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Add a message fragment to a multipart MAC operation */
@@ -91,7 +91,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
continue;
@@ -118,7 +118,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(14));
}
diff --git a/api-tests/dev_apis/crypto/test_c028/test_c028.h b/api-tests/dev_apis/crypto/test_c028/test_c028.h
index 792a1a9..dc400ac 100644
--- a/api-tests/dev_apis/crypto/test_c028/test_c028.h
+++ b/api-tests/dev_apis/crypto/test_c028/test_c028.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c028_crypto_list[];
+extern const client_test_t test_c028_crypto_list[];
int32_t psa_mac_sign_finish_test(caller_security_t caller);
#endif /* _TEST_C028_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c028/test_data.h b/api-tests/dev_apis/crypto/test_c028/test_data.h
index 2153071..bd4e96a 100644
--- a/api-tests/dev_apis/crypto/test_c028/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c028/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -33,10 +32,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_sign_finish HMAC SHA 224\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_finish HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -49,7 +48,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_sign_finish HMAC SHA 256\n", 2, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_finish HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -62,7 +61,7 @@
#endif
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_sign_finish HMAC SHA 512\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_finish HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -77,7 +76,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_sign_finish HMAC SHA 224 (truncated to 8 Byte)\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_sign_finish HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -90,7 +89,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_sign_finish CMAC AES 128\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_finish CMAC AES 128\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -100,7 +99,7 @@
PSA_SUCCESS
},
-{"Test psa_mac_sign_finish small size buffer\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_mac_sign_finish small size buffer\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
diff --git a/api-tests/dev_apis/crypto/test_c029/test_c029.c b/api-tests/dev_apis/crypto/test_c029/test_c029.c
index ee9b7f5..ce2e857 100644
--- a/api-tests/dev_apis/crypto/test_c029/test_c029.c
+++ b/api-tests/dev_apis/crypto/test_c029/test_c029.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c029.h"
#include "test_data.h"
-client_test_t test_c029_crypto_list[] = {
+const client_test_t test_c029_crypto_list[] = {
NULL,
psa_mac_verify_setup_test,
psa_mac_verify_setup_negative_test,
@@ -36,6 +35,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
int32_t i, status;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -64,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC verification operation */
status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Whether setup succeeded or failed, abort must succeed.
@@ -84,12 +84,12 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(6));
}
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
}
@@ -100,6 +100,7 @@
{
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
+ psa_key_handle_t key_handle = 11;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -115,7 +116,7 @@
g_test_count++);
/* Start a multipart MAC verification operation */
status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY_SETUP, &operation,
- check2[i].key_handle, check2[i].key_alg);
+ key_handle, check2[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
val->print(PRINT_TEST, "[Check %d] Test psa_mac_verify_setup zero as key handle\n",
diff --git a/api-tests/dev_apis/crypto/test_c029/test_c029.h b/api-tests/dev_apis/crypto/test_c029/test_c029.h
index 81234fa..113cb04 100644
--- a/api-tests/dev_apis/crypto/test_c029/test_c029.h
+++ b/api-tests/dev_apis/crypto/test_c029/test_c029.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c029_crypto_list[];
+extern const client_test_t test_c029_crypto_list[];
int32_t psa_mac_verify_setup_test(caller_security_t caller);
int32_t psa_mac_verify_setup_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c029/test_data.h b/api-tests/dev_apis/crypto/test_c029/test_data.h
index 1a55b00..3b4b121 100644
--- a/api-tests/dev_apis/crypto/test_c029/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c029/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -28,10 +27,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_setup 64 Byte HMAC\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_setup 64 Byte HMAC\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -45,7 +44,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_verify_setup 16 Byte AES - CMAC\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_setup 16 Byte AES - CMAC\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_CMAC,
@@ -54,7 +53,7 @@
#endif
#ifdef ARCH_TEST_GMAC
-{"Test psa_mac_verify_setup 16 Byte AES - GMAC\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_setup 16 Byte AES - GMAC\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_GMAC,
@@ -65,7 +64,7 @@
#ifdef ARCH_TEST_CMAC
#ifdef ARCH_TEST_HMAC
-{"Test psa_mac_verify_setup incompactible HMAC for CMAC\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_setup incompactible HMAC for CMAC\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
0x0D, 0x0E, 0x0F},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_CMAC,
@@ -74,7 +73,7 @@
#endif
#ifdef ARCH_TEST_AES_128
-{"Test psa_mac_verify_setup invalid usage\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_setup invalid usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_EXPORT, PSA_ALG_CMAC,
@@ -85,7 +84,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_setup invalid key type\n", 6, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_mac_verify_setup invalid key type\n", PSA_KEY_TYPE_RAW_DATA,
{0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B,
0x0B, 0x0B, 0x0B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_HMAC(PSA_ALG_SHA_256),
@@ -96,7 +95,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_setup truncated MAC too large\n", 7, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_setup truncated MAC too large\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -106,7 +105,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_mac_verify_setup truncated MAC too small\n", 8, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_setup truncated MAC too small\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
@@ -118,7 +117,7 @@
#endif
#ifdef ARCH_TEST_AES_128
-{"Test psa_mac_verify_setup bad algorithm (unknown MAC algorithm)\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_setup bad algorithm (unknown MAC algorithm)\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_HMAC(0),
@@ -129,7 +128,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_mac_verify_setup bad algorithm (not a MAC algorithm)\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_setup bad algorithm (not a MAC algorithm)\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x00},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY, PSA_ALG_CBC_NO_PADDING,
@@ -139,10 +138,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_setup 64 negative case\n", 11, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_setup 64 negative case\n", PSA_KEY_TYPE_HMAC,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
diff --git a/api-tests/dev_apis/crypto/test_c030/test_c030.c b/api-tests/dev_apis/crypto/test_c030/test_c030.c
index 6643c34..723b9bf 100644
--- a/api-tests/dev_apis/crypto/test_c030/test_c030.c
+++ b/api-tests/dev_apis/crypto/test_c030/test_c030.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c030.h"
#include "test_data.h"
-client_test_t test_c030_crypto_list[] = {
+const client_test_t test_c030_crypto_list[] = {
NULL,
psa_mac_verify_finish_test,
NULL,
@@ -35,6 +34,7 @@
int32_t i, status;
psa_mac_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,12 +63,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC calculation operation */
status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Add a message fragment to a multipart MAC operation */
@@ -90,7 +90,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
continue;
}
@@ -108,7 +108,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
}
diff --git a/api-tests/dev_apis/crypto/test_c030/test_c030.h b/api-tests/dev_apis/crypto/test_c030/test_c030.h
index defd603..2ffcf12 100644
--- a/api-tests/dev_apis/crypto/test_c030/test_c030.h
+++ b/api-tests/dev_apis/crypto/test_c030/test_c030.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c030_crypto_list[];
+extern const client_test_t test_c030_crypto_list[];
int32_t psa_mac_verify_finish_test(caller_security_t caller);
#endif /* _TEST_C030_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c030/test_data.h b/api-tests/dev_apis/crypto/test_c030/test_data.h
index eb9f250..e4c8cc3 100644
--- a/api-tests/dev_apis/crypto/test_c030/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c030/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -32,10 +31,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish HMAC SHA 224\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -48,7 +47,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_finish HMAC SHA 256\n", 2, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -61,7 +60,7 @@
#endif
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_verify_finish HMAC SHA 512\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -76,7 +75,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish HMAC SHA 224 (truncated to 8 Byte)\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -89,7 +88,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_verify_finish CMAC AES 128\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_finish CMAC AES 128\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -103,7 +102,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_finish small size buffer\n", 6, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish small size buffer\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -116,7 +115,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish incorrect expected MAC\n", 7, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish incorrect expected MAC\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
diff --git a/api-tests/dev_apis/crypto/test_c031/test_c031.c b/api-tests/dev_apis/crypto/test_c031/test_c031.c
index 3e8c94e..8cd6a1d 100644
--- a/api-tests/dev_apis/crypto/test_c031/test_c031.c
+++ b/api-tests/dev_apis/crypto/test_c031/test_c031.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c031.h"
#include "test_data.h"
-client_test_t test_c031_crypto_list[] = {
+const client_test_t test_c031_crypto_list[] = {
NULL,
psa_mac_abort_test,
psa_mac_abort_before_finish_test,
@@ -37,6 +36,7 @@
int32_t i, status;
psa_mac_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -65,12 +65,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Start a multipart MAC calculation operation */
status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Abort a MAC operation */
@@ -82,7 +82,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
}
diff --git a/api-tests/dev_apis/crypto/test_c031/test_c031.h b/api-tests/dev_apis/crypto/test_c031/test_c031.h
index ba716fa..0ea5c9b 100644
--- a/api-tests/dev_apis/crypto/test_c031/test_c031.h
+++ b/api-tests/dev_apis/crypto/test_c031/test_c031.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c031_crypto_list[];
+extern const client_test_t test_c031_crypto_list[];
int32_t psa_mac_abort_test(caller_security_t caller);
int32_t psa_mac_abort_before_finish_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c031/test_data.h b/api-tests/dev_apis/crypto/test_c031/test_data.h
index e816f81..50590eb 100644
--- a/api-tests/dev_apis/crypto/test_c031/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c031/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -28,10 +27,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_abort HMAC SHA 224\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_abort HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(PSA_ALG_SHA_224),
@@ -40,7 +39,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_abort HMAC SHA 256\n", 2, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_abort HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(PSA_ALG_SHA_256),
@@ -49,7 +48,7 @@
#endif
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_abort HMAC SHA 512\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_abort HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(PSA_ALG_SHA_512),
@@ -58,7 +57,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_abort HMAC SHA 224 (truncated to 8 Byte)\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_abort HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
PSA_KEY_USAGE_SIGN, PSA_ALG_TRUNCATED_MAC(PSA_ALG_HMAC(PSA_ALG_SHA_224), 8),
@@ -69,7 +68,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_abort CMAC AES 128\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_mac_abort CMAC AES 128\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
diff --git a/api-tests/dev_apis/crypto/test_c032/test_c032.c b/api-tests/dev_apis/crypto/test_c032/test_c032.c
index aa35e30..d1093fc 100644
--- a/api-tests/dev_apis/crypto/test_c032/test_c032.c
+++ b/api-tests/dev_apis/crypto/test_c032/test_c032.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c032.h"
#include "test_data.h"
-client_test_t test_c032_crypto_list[] = {
+const client_test_t test_c032_crypto_list[] = {
NULL,
psa_cipher_encrypt_setup_test,
psa_cipher_encrypt_setup_negative_test,
@@ -37,6 +36,7 @@
int32_t i, status;
const uint8_t *key_data;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -97,12 +97,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Whether setup succeeded or failed, abort must succeed.
@@ -114,7 +114,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(6));
status = val->crypto_function(VAL_CRYPTO_CIPHER_ABORT, &operation);
@@ -122,7 +122,7 @@
}
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
@@ -136,6 +136,7 @@
{
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
+ psa_key_handle_t key_handle = 16;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -151,7 +152,7 @@
g_test_count++);
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check2[i].key_handle, check2[i].key_alg);
+ key_handle, check2[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
val->print(PRINT_TEST, "[Check %d] Test psa_cipher_encrypt_setup - Zero as key handle\n",
diff --git a/api-tests/dev_apis/crypto/test_c032/test_c032.h b/api-tests/dev_apis/crypto/test_c032/test_c032.h
index f9887a2..362f3a3 100644
--- a/api-tests/dev_apis/crypto/test_c032/test_c032.h
+++ b/api-tests/dev_apis/crypto/test_c032/test_c032.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c032_crypto_list[];
+extern const client_test_t test_c032_crypto_list[];
int32_t psa_cipher_encrypt_setup_test(caller_security_t caller);
int32_t psa_cipher_encrypt_setup_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c032/test_data.h b/api-tests/dev_apis/crypto/test_c032/test_data.h
index 763afde..c512c01 100644
--- a/api-tests/dev_apis/crypto/test_c032/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c032/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -160,10 +159,10 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_encrypt_setup 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, BYTES_TO_BITS(AES_16B_KEY_SIZE),
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -172,7 +171,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_cipher_encrypt_setup 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9}, AES_24B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_24B_KEY_SIZE),
@@ -181,7 +180,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_cipher_encrypt_setup 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE}, AES_32B_KEY_SIZE, 0,
@@ -193,7 +192,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_encrypt_setup DES 64 bit key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt_setup DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, 0, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING, BYTES_TO_BITS(DES_8B_KEY_SIZE),
PSA_SUCCESS
@@ -201,7 +200,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_encrypt_setup Triple DES 2-Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt_setup Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, 0, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING, BYTES_TO_BITS(DES3_2KEY_SIZE),
@@ -210,7 +209,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_encrypt_setup Triple DES 3-Key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt_setup Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -221,7 +220,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_encrypt_setup 16 Byte raw data\n", 7, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_cipher_encrypt_setup 16 Byte raw data\n", PSA_KEY_TYPE_RAW_DATA,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -231,7 +230,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_cipher_encrypt_setup - not a cipher algorithm\n", 8, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup - not a cipher algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CMAC, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -240,7 +239,7 @@
#endif
#ifdef ARCH_TEST_CIPER
-{"Test psa_cipher_encrypt_setup - unknown cipher algorithm\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup - unknown cipher algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CATEGORY_CIPHER, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -250,7 +249,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_ARC4
-{"Test psa_cipher_encrypt_setup - incompatible key ARC4\n", 10, PSA_KEY_TYPE_ARC4,
+{"Test psa_cipher_encrypt_setup - incompatible key ARC4\n", PSA_KEY_TYPE_ARC4,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -258,7 +257,7 @@
},
#endif
-{"Test psa_cipher_encrypt_setup - incorrect usage\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup - incorrect usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -269,13 +268,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_cipher_encrypt_setup - RSA public key\n", 12, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_cipher_encrypt_setup - RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 270, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, 2048,
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_cipher_encrypt_setup - RSA keypair\n", 13, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_cipher_encrypt_setup - RSA keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 1193, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, 2048,
PSA_ERROR_INVALID_ARGUMENT
@@ -285,7 +284,7 @@
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_cipher_encrypt_setup - EC Public key\n", 14,
+{"Test psa_cipher_encrypt_setup - EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1), {0}, 65, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, 256,
PSA_ERROR_INVALID_ARGUMENT
@@ -293,7 +292,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_cipher_encrypt_setup - EC keypair\n", 15,
+{"Test psa_cipher_encrypt_setup - EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1), {0}, 28, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION, 224,
PSA_ERROR_INVALID_ARGUMENT
@@ -302,10 +301,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_encrypt_setup negative cases\n", 16, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt_setup negative cases\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE, 0,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
diff --git a/api-tests/dev_apis/crypto/test_c033/test_c033.c b/api-tests/dev_apis/crypto/test_c033/test_c033.c
index 4899f10..2ec5d43 100644
--- a/api-tests/dev_apis/crypto/test_c033/test_c033.c
+++ b/api-tests/dev_apis/crypto/test_c033/test_c033.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c033.h"
#include "test_data.h"
-client_test_t test_c033_crypto_list[] = {
+const client_test_t test_c033_crypto_list[] = {
NULL,
psa_cipher_decrypt_setup_test,
psa_cipher_decrypt_setup_negative_test,
@@ -37,6 +36,7 @@
int32_t i, status;
const uint8_t *key_data;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -96,12 +96,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart symmetric decryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Whether setup succeeded or failed, abort must succeed.
@@ -113,7 +113,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(6));
/* Abort a cipher operation */
@@ -122,7 +122,7 @@
}
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
@@ -136,6 +136,7 @@
{
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
+ psa_key_handle_t key_handle = 16;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -151,7 +152,7 @@
g_test_count++);
/* Set the key for a multipart symmetric decryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check2[i].key_handle, check2[i].key_alg);
+ key_handle, check2[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
val->print(PRINT_TEST, "[Check %d] Test psa_cipher_decrypt_setup - Zero as key handle\n",
diff --git a/api-tests/dev_apis/crypto/test_c033/test_c033.h b/api-tests/dev_apis/crypto/test_c033/test_c033.h
index ea045b4..c30d05c 100644
--- a/api-tests/dev_apis/crypto/test_c033/test_c033.h
+++ b/api-tests/dev_apis/crypto/test_c033/test_c033.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c033_crypto_list[];
+extern const client_test_t test_c033_crypto_list[];
int32_t psa_cipher_decrypt_setup_test(caller_security_t caller);
int32_t psa_cipher_decrypt_setup_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c033/test_data.h b/api-tests/dev_apis/crypto/test_c033/test_data.h
index c44e8ed..c847a08 100644
--- a/api-tests/dev_apis/crypto/test_c033/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c033/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -159,10 +158,10 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_decrypt_setup 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -171,7 +170,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_cipher_decrypt_setup 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9}, AES_24B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_24B_KEY_SIZE),
@@ -180,7 +179,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_cipher_decrypt_setup 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE}, AES_32B_KEY_SIZE,
@@ -192,7 +191,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_decrypt_setup DES 64 bit key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt_setup DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING, BYTES_TO_BITS(DES_8B_KEY_SIZE),
PSA_SUCCESS
@@ -200,7 +199,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_decrypt_setup Triple DES 2-Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt_setup Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING, BYTES_TO_BITS(DES3_2KEY_SIZE),
@@ -209,7 +208,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_decrypt_setup Triple DES 3-Key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt_setup Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -221,7 +220,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_decrypt_setup 16 Byte raw data\n", 7, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_cipher_decrypt_setup 16 Byte raw data\n", PSA_KEY_TYPE_RAW_DATA,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -230,7 +229,7 @@
#endif
#ifdef ARCH_TEST_CMAC
-{"Test psa_cipher_decrypt_setup - not a cipher algorithm\n", 8, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup - not a cipher algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CMAC, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -239,7 +238,7 @@
#endif
#ifdef ARCH_TEST_CIPER
-{"Test psa_cipher_decrypt_setup - unknown cipher algorithm\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup - unknown cipher algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CATEGORY_CIPHER, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -249,7 +248,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_ARC4
-{"Test psa_cipher_decrypt_setup - incompatible key ARC4\n", 10, PSA_KEY_TYPE_ARC4,
+{"Test psa_cipher_decrypt_setup - incompatible key ARC4\n", PSA_KEY_TYPE_ARC4,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -257,7 +256,7 @@
},
#endif
-{"Test psa_cipher_decrypt_setup - incorrect usage\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup - incorrect usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -268,13 +267,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_cipher_decrypt_setup - RSA public key\n", 12, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_cipher_decrypt_setup - RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 270,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, 2048,
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_cipher_decrypt_setup - RSA keypair\n", 13, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_cipher_decrypt_setup - RSA keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 1193,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, 2048,
PSA_ERROR_INVALID_ARGUMENT
@@ -284,7 +283,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_cipher_decrypt_setup - EC Public key\n", 14,
+{"Test psa_cipher_decrypt_setup - EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1), {0}, 65,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT, 192,
PSA_ERROR_INVALID_ARGUMENT
@@ -292,7 +291,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_cipher_decrypt_setup - EC keypair\n", 15,
+{"Test psa_cipher_decrypt_setup - EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1), {0}, 28,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT, 224,
PSA_ERROR_INVALID_ARGUMENT
@@ -301,10 +300,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_decrypt_setup - negative test\n", 16, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt_setup - negative test\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR, BYTES_TO_BITS(AES_16B_KEY_SIZE),
diff --git a/api-tests/dev_apis/crypto/test_c034/test_c034.c b/api-tests/dev_apis/crypto/test_c034/test_c034.c
index 0017ce0..6a77a21 100644
--- a/api-tests/dev_apis/crypto/test_c034/test_c034.c
+++ b/api-tests/dev_apis/crypto/test_c034/test_c034.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +21,7 @@
#include "test_data.h"
-client_test_t test_c034_crypto_list[] = {
+const client_test_t test_c034_crypto_list[] = {
NULL,
psa_cipher_generate_iv_test,
NULL,
@@ -39,6 +38,7 @@
psa_cipher_operation_t operation;
int32_t status;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -67,12 +67,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Generate an IV for a symmetric encryption operation */
@@ -87,7 +87,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
continue;
@@ -117,7 +117,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c034/test_c034.h b/api-tests/dev_apis/crypto/test_c034/test_c034.h
index 67273ab..399ec13 100644
--- a/api-tests/dev_apis/crypto/test_c034/test_c034.h
+++ b/api-tests/dev_apis/crypto/test_c034/test_c034.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c034_crypto_list[];
+extern const client_test_t test_c034_crypto_list[];
int32_t psa_cipher_generate_iv_test(caller_security_t caller);
#endif /* _TEST_C034_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c034/test_data.h b/api-tests/dev_apis/crypto/test_c034/test_data.h
index 7bc7eab..d03dae9 100644
--- a/api-tests/dev_apis/crypto/test_c034/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c034/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020 Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -30,10 +29,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_generate_iv 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_generate_iv 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, 16, 16,
@@ -42,7 +41,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_cipher_generate_iv 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_generate_iv 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9}, AES_24B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, 16, 16,
@@ -51,7 +50,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_cipher_generate_iv 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_generate_iv 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE}, AES_32B_KEY_SIZE,
@@ -63,7 +62,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_generate_iv DES 64 bit key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_generate_iv DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
8, 8,
@@ -72,7 +71,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_generate_iv Triple DES 2-Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_generate_iv Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -82,7 +81,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_generate_iv Triple DES 3-Key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_generate_iv Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -95,7 +94,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_generate_iv AES - small iv buffer\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_generate_iv AES - small iv buffer\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, 8, 16,
@@ -106,7 +105,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_generate_iv DES - small iv buffer\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_generate_iv DES - small iv buffer\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
4, 8,
@@ -117,7 +116,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_generate_iv AES - large iv buffer\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_generate_iv AES - large iv buffer\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR, 32, 16,
@@ -128,7 +127,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_generate_iv DES - large iv buffer\n", 10, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_generate_iv DES - large iv buffer\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
16, 8,
diff --git a/api-tests/dev_apis/crypto/test_c035/test_c035.c b/api-tests/dev_apis/crypto/test_c035/test_c035.c
index 8d19a10..887ca14 100644
--- a/api-tests/dev_apis/crypto/test_c035/test_c035.c
+++ b/api-tests/dev_apis/crypto/test_c035/test_c035.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +21,7 @@
#include "test_data.h"
-client_test_t test_c035_crypto_list[] = {
+const client_test_t test_c035_crypto_list[] = {
NULL,
psa_cipher_set_iv_test,
NULL,
@@ -36,6 +35,7 @@
int32_t i, status;
psa_cipher_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -64,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set an IV for a symmetric encryption operation */
@@ -89,7 +89,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c035/test_c035.h b/api-tests/dev_apis/crypto/test_c035/test_c035.h
index b5a6a49..d66774b 100644
--- a/api-tests/dev_apis/crypto/test_c035/test_c035.h
+++ b/api-tests/dev_apis/crypto/test_c035/test_c035.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c035_crypto_list[];
+extern const client_test_t test_c035_crypto_list[];
int32_t psa_cipher_set_iv_test(caller_security_t caller);
#endif /* _TEST_C035_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c035/test_data.h b/api-tests/dev_apis/crypto/test_c035/test_data.h
index af43a3b..9f4d653 100644
--- a/api-tests/dev_apis/crypto/test_c035/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c035/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -30,10 +29,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_set_iv 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_set_iv 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -44,7 +43,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_cipher_set_iv 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_set_iv 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9}, AES_24B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -55,7 +54,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_cipher_set_iv 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_set_iv 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE}, AES_32B_KEY_SIZE,
@@ -69,7 +68,7 @@
#ifdef ARCH_TEST_CBC_AES_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_set_iv DES 64 bit key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_set_iv DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}, 8,
@@ -79,7 +78,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_set_iv Triple DES 2-Key\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_set_iv Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -89,7 +88,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_set_iv Triple DES 3-Key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_set_iv Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -102,7 +101,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_set_iv AES - small iv buffer\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_set_iv AES - small iv buffer\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -114,7 +113,7 @@
#ifdef ARCH_TEST_CBC_AES_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_set_iv DES - small iv buffer\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_set_iv DES - small iv buffer\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0x00, 0x01, 0x02, 0x03,}, 4,
@@ -125,7 +124,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_set_iv AES - large iv buffer\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_set_iv AES - large iv buffer\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0xD0}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -139,7 +138,7 @@
#ifdef ARCH_TEST_CBC_AES_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_set_iv DES - large iv buffer\n", 10, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_set_iv DES - large iv buffer\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
diff --git a/api-tests/dev_apis/crypto/test_c036/test_c036.c b/api-tests/dev_apis/crypto/test_c036/test_c036.c
index 64fea25..0744ed1 100644
--- a/api-tests/dev_apis/crypto/test_c036/test_c036.c
+++ b/api-tests/dev_apis/crypto/test_c036/test_c036.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,7 +21,7 @@
#include "test_data.h"
-client_test_t test_c036_crypto_list[] = {
+const client_test_t test_c036_crypto_list[] = {
NULL,
psa_cipher_update_test,
psa_cipher_update_negative_test,
@@ -40,6 +39,7 @@
size_t length;
psa_cipher_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -68,20 +68,20 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (check1[i].usage == PSA_KEY_USAGE_ENCRYPT)
{
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
}
else if (check1[i].usage == PSA_KEY_USAGE_DECRYPT)
{
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
}
@@ -102,7 +102,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
continue;
}
@@ -118,7 +118,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(13));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c036/test_c036.h b/api-tests/dev_apis/crypto/test_c036/test_c036.h
index 2056762..6547630 100644
--- a/api-tests/dev_apis/crypto/test_c036/test_c036.h
+++ b/api-tests/dev_apis/crypto/test_c036/test_c036.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c036_crypto_list[];
+extern const client_test_t test_c036_crypto_list[];
int32_t psa_cipher_update_test(caller_security_t caller);
int32_t psa_cipher_update_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c036/test_data.h b/api-tests/dev_apis/crypto/test_c036/test_data.h
index c5e4fbe..9d1db05 100644
--- a/api-tests/dev_apis/crypto/test_c036/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c036/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -35,10 +34,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -50,7 +49,7 @@
0x20, 0x74, 0x3B}, 16, PSA_SUCCESS
},
-{"Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING (Short input)\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -62,7 +61,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_update - Encrypt - AES CBC_PKCS7\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Encrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -74,7 +73,7 @@
0x20, 0x74, 0x3b}, 16, PSA_SUCCESS
},
-{"Test psa_cipher_update - Encrypt - AES CBC_PKCS7 (Short input)\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Encrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -87,7 +86,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_update - Encrypt - AES CTR\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Encrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -102,7 +101,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_update - Encrypt - DES CBC (nopad)\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Encrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a}, 8,
@@ -115,7 +114,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_update - Encrypt - 2-key 3DE -CBC (nopad)\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Encrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -126,7 +125,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_update - Encrypt - 3-key 3DE -CBC (nopad)\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Encrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -137,7 +136,7 @@
#endif
#ifdef ARCH_TEST_AES_128
-{"Test psa_cipher_update - small output buffer size\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - small output buffer size\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -149,7 +148,7 @@
0x20, 0x74, 0x3B}, 16, PSA_ERROR_BUFFER_TOO_SMALL
},
-{"Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -161,7 +160,7 @@
0x93, 0x17, 0x2a}, 16, PSA_SUCCESS
},
-{"Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING (Short input)\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -175,7 +174,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_update - Decrypt - AES CBC_PKCS7\n", 12, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Decrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -187,7 +186,7 @@
0x93, 0x17, 0x2a}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_update - Decrypt - AES CBC_PKCS7 (Short input)\n", 13, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Decrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -202,7 +201,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_update - Decrypt - AES CTR\n", 14, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_update - Decrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -218,7 +217,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_update - Decrypt - DES CBC (nopad)\n", 15, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Decrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
{0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a}, 8,
@@ -228,7 +227,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_update - Decrypt - 2-key 3DE -CBC (nopad)\n", 16, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Decrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -239,7 +238,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_update - Decrypt - 3-key 3DE -CBC (nopad)\n", 17, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_update - Decrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
diff --git a/api-tests/dev_apis/crypto/test_c037/test_c037.c b/api-tests/dev_apis/crypto/test_c037/test_c037.c
index 86c2931..665047f 100644
--- a/api-tests/dev_apis/crypto/test_c037/test_c037.c
+++ b/api-tests/dev_apis/crypto/test_c037/test_c037.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +23,7 @@
#define SLOT_1 0
#define SLOT_2 1
-client_test_t test_c037_crypto_list[] = {
+const client_test_t test_c037_crypto_list[] = {
NULL,
psa_cipher_finish_test,
NULL,
@@ -40,6 +39,7 @@
size_t update_length, finish_length;
psa_cipher_operation_t operation, invalid_operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -69,21 +69,21 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (check1[i].usage == PSA_KEY_USAGE_ENCRYPT)
{
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
}
else if (check1[i].usage == PSA_KEY_USAGE_DECRYPT)
{
/* Set the key for a multipart symmetric decryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
}
@@ -109,7 +109,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
continue;
}
@@ -136,7 +136,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(15));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(16));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c037/test_c037.h b/api-tests/dev_apis/crypto/test_c037/test_c037.h
index cf57c40..14b6ac7 100644
--- a/api-tests/dev_apis/crypto/test_c037/test_c037.h
+++ b/api-tests/dev_apis/crypto/test_c037/test_c037.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c037_crypto_list[];
+extern const client_test_t test_c037_crypto_list[];
int32_t psa_cipher_finish_test(caller_security_t caller);
#endif /* _TEST_C037_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c037/test_data.h b/api-tests/dev_apis/crypto/test_c037/test_data.h
index 013eec1..8e3c901 100644
--- a/api-tests/dev_apis/crypto/test_c037/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c037/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -35,10 +34,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -50,7 +49,7 @@
0x20, 0x74, 0x3B}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING (Short input)\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -62,7 +61,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_finish - Encrypt - AES CBC_PKCS7\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -75,7 +74,7 @@
0x42, 0x93, 0x03, 0x1c, 0xd4, 0xf3}, 16, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Encrypt - AES CBC_PKCS7 (Short input)\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -89,7 +88,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_finish - Encrypt - AES CTR\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -101,7 +100,7 @@
0xb2, 0xbd, 0x32}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Encrypt - AES CTR (short input)\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Encrypt - AES CTR (short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -117,7 +116,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_finish - Encrypt - DES CBC (nopad)\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - Encrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a}, 8,
@@ -127,7 +126,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_finish - Encrypt - 2-key 3DE -CBC (nopad)\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - Encrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -138,7 +137,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_finish - Encrypt - 3-key 3DE -CBC (nopad)\n", 9, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - Encrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -151,7 +150,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_finish - small output buffer size\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - small output buffer size\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -166,7 +165,7 @@
#endif
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -179,7 +178,7 @@
0x93, 0x17, 0x2a}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING (Short input)\n", 12, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -191,7 +190,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_finish - Decrypt - AES CBC_PKCS7\n", 13, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -204,7 +203,7 @@
0x93, 0x17, 0x2a}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Decrypt - AES CBC_PKCS7 (Short input)\n", 14, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -218,7 +217,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_finish - Decrypt - AES CTR\n", 15, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -231,7 +230,7 @@
0, PSA_SUCCESS
},
-{"Test psa_cipher_finish - Decrypt - AES CTR (short input)\n", 16, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_finish - Decrypt - AES CTR (short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -247,7 +246,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_finish - Decrypt - DES CBC (nopad)\n", 17, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - Decrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
{0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a}, 8,
@@ -257,7 +256,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_finish - Decrypt - 2-key 3DE -CBC (nopad)\n", 18, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - Decrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -268,7 +267,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_finish - 3-key 3DE -CBC (nopad)\n", 19, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_finish - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
diff --git a/api-tests/dev_apis/crypto/test_c038/test_c038.c b/api-tests/dev_apis/crypto/test_c038/test_c038.c
index 8cf69cd..7f80eda 100644
--- a/api-tests/dev_apis/crypto/test_c038/test_c038.c
+++ b/api-tests/dev_apis/crypto/test_c038/test_c038.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c038.h"
#include "test_data.h"
-client_test_t test_c038_crypto_list[] = {
+const client_test_t test_c038_crypto_list[] = {
NULL,
psa_cipher_abort_test,
psa_cipher_abort_before_update_test,
@@ -37,6 +36,7 @@
int32_t i, status;
psa_cipher_operation_t operation;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -65,21 +65,21 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (check1[i].usage == PSA_KEY_USAGE_ENCRYPT)
{
/* Set the key for a multipart symmetric encryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
}
else if (check1[i].usage == PSA_KEY_USAGE_DECRYPT)
{
/* Set the key for a multipart symmetric decryption operation */
status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].key_alg);
+ key_handle, check1[i].key_alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
}
@@ -92,7 +92,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c038/test_c038.h b/api-tests/dev_apis/crypto/test_c038/test_c038.h
index 3568e65..f304d98 100644
--- a/api-tests/dev_apis/crypto/test_c038/test_c038.h
+++ b/api-tests/dev_apis/crypto/test_c038/test_c038.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c038_crypto_list[];
+extern const client_test_t test_c038_crypto_list[];
int32_t psa_cipher_abort_test(caller_security_t caller);
int32_t psa_cipher_abort_before_update_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c038/test_data.h b/api-tests/dev_apis/crypto/test_c038/test_data.h
index 1dedbec..f3b6788 100644
--- a/api-tests/dev_apis/crypto/test_c038/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c038/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -28,10 +27,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_abort - Encrypt - AES CBC_NO_PADDING\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Encrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -40,7 +39,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_abort - Encrypt - AES CBC_PKCS7\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Encrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -49,7 +48,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_abort - Encrypt - AES CTR\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Encrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -60,7 +59,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_abort - Encrypt - DES CBC (nopad)\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Encrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
PSA_SUCCESS
@@ -68,7 +67,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_abort - Encrypt - 2-key 3DE -CBC (nopad)\n", 5, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Encrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -77,7 +76,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_abort - Encrypt - 3-key 3DE -CBC (nopad)\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Encrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -88,7 +87,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_abort - Decrypt - AES CBC_NO_PADDING\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -97,7 +96,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_abort - Decrypt - AES CBC_PKCS7\n", 8, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Decrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -106,7 +105,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_abort - Decrypt - AES CTR\n", 9, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_abort - Decrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -117,7 +116,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_abort - Decrypt - DES CBC (nopad)\n", 10, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Decrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
PSA_SUCCESS
@@ -125,7 +124,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_abort - Decrypt - 2-key 3DE -CBC (nopad)\n", 11, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Decrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -134,7 +133,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_abort - Decrypt - 3-key 3DE -CBC (nopad)\n", 12, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_abort - Decrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
diff --git a/api-tests/dev_apis/crypto/test_c039/test_c039.c b/api-tests/dev_apis/crypto/test_c039/test_c039.c
index 72648bc..1df1f76 100644
--- a/api-tests/dev_apis/crypto/test_c039/test_c039.c
+++ b/api-tests/dev_apis/crypto/test_c039/test_c039.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c039.h"
#include "test_data.h"
-client_test_t test_c039_crypto_list[] = {
+const client_test_t test_c039_crypto_list[] = {
NULL,
psa_asymmetric_encrypt_test,
psa_asymmetric_encrypt_negative_test,
@@ -52,6 +51,7 @@
uint8_t *salt;
size_t length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -117,7 +117,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (is_buffer_empty(check1[i].salt, check1[i].salt_length) == TRUE)
@@ -129,7 +129,7 @@
salt = check1[i].salt;
/* Encrypt a short message with a public key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_ENCRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_ENCRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, salt,
check1[i].salt_length, output, check1[i].output_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -137,7 +137,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -152,7 +152,7 @@
if ((check1[i].usage & PSA_KEY_USAGE_DECRYPT) == PSA_KEY_USAGE_DECRYPT)
{
status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_DECRYPT,
- check1[i].key_handle, check1[i].key_alg, output, length, salt,
+ key_handle, check1[i].key_alg, output, length, salt,
check1[i].salt_length, output, check1[i].output_size, &length);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
@@ -164,7 +164,7 @@
}
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Reset the key attributes and check if psa_import_key fails */
@@ -180,6 +180,7 @@
int32_t i, status;
uint8_t *salt = NULL;
size_t length;
+ psa_key_handle_t key_handle = 11;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -202,7 +203,7 @@
val->print(PRINT_TEST, "[Check %d] Test psa_asymmetric_encrypt - Invalid key handle\n",
g_test_count++);
/* Encrypt a short message with a public key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_ENCRYPT, check2[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_ENCRYPT, key_handle,
check2[i].key_alg, check2[i].input, check2[i].input_length, salt,
check2[i].salt_length, output, check2[i].output_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
diff --git a/api-tests/dev_apis/crypto/test_c039/test_c039.h b/api-tests/dev_apis/crypto/test_c039/test_c039.h
index dd431d3..b31e141 100644
--- a/api-tests/dev_apis/crypto/test_c039/test_c039.h
+++ b/api-tests/dev_apis/crypto/test_c039/test_c039.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c039_crypto_list[];
+extern const client_test_t test_c039_crypto_list[];
int32_t psa_asymmetric_encrypt_test(caller_security_t caller);
int32_t psa_asymmetric_encrypt_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c039/test_data.h b/api-tests/dev_apis/crypto/test_c039/test_data.h
index e947fd0..93e59a6 100644
--- a/api-tests/dev_apis/crypto/test_c039/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c039/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[16];
uint32_t key_length;
@@ -123,7 +122,7 @@
static test_data check1[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
-{"Test psa_asymmetric_encrypt - RSA PKCS1V15\n", 1, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - RSA PKCS1V15\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -135,7 +134,7 @@
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_RSA_OAEP
-{"Test psa_asymmetric_encrypt - RSA OAEP SHA256\n", 2, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - RSA OAEP SHA256\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256),
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -144,7 +143,7 @@
128, 1024, PSA_SUCCESS
},
-{"Test psa_asymmetric_encrypt - RSA OAEP SHA256 with label\n", 3, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - RSA OAEP SHA256 with label\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256),
{0x74, 0x68, 0x69, 0x73, 0x00, 0x69, 0x73, 0x00, 0x61, 0x00, 0x6c, 0x61, 0x62,
0x65, 0x6c, 0x00}, 16,
@@ -157,7 +156,7 @@
#endif
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
-{"Test psa_asymmetric_encrypt - RSA KEY_PAIR PKCS1V15\n", 4, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_encrypt - RSA KEY_PAIR PKCS1V15\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -166,7 +165,7 @@
128, 1024, PSA_SUCCESS
},
-{"Test psa_asymmetric_encrypt - Small output buffer\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_encrypt - Small output buffer\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -177,7 +176,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_encrypt - Invalid algorithm\n", 6, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - Invalid algorithm\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_SHA_256,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -190,7 +189,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
#ifdef ARCH_TEST_AES_128
-{"Test psa_asymmetric_encrypt - Invalid key type\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_asymmetric_encrypt - Invalid key type\n", PSA_KEY_TYPE_AES,
{0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xaf, 0x05,
0x7d, 0x39, 0x6e}, 16,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
@@ -203,7 +202,7 @@
#endif
#ifdef ARCH_TEST_RSA_1024
-{"Test psa_asymmetric_encrypt - Invalid usage\n", 8, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - Invalid usage\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -217,7 +216,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
#ifdef ARCH_TEST_ECC_ASYMMETRIC_API_SUPPORT
-{"Test psa_asymmetric_encrypt - ECC public key\n", 9,
+{"Test psa_asymmetric_encrypt - ECC public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0}, 65, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION,
{0}, 0,
@@ -227,7 +226,7 @@
128, 256, PSA_SUCCESS
},
-{"Test psa_asymmetric_encrypt - ECC keypair\n", 10,
+{"Test psa_asymmetric_encrypt - ECC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0}, 97, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256),
{0}, 0,
@@ -244,7 +243,7 @@
static test_data check2[] = {
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
#ifdef ARCH_TEST_RSA_1024
-{"Test psa_asymmetric_encrypt - Negative case\n", 11, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_asymmetric_encrypt - Negative case\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
diff --git a/api-tests/dev_apis/crypto/test_c040/test_c040.c b/api-tests/dev_apis/crypto/test_c040/test_c040.c
index e769c1a..93d242e 100644
--- a/api-tests/dev_apis/crypto/test_c040/test_c040.c
+++ b/api-tests/dev_apis/crypto/test_c040/test_c040.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c040.h"
#include "test_data.h"
-client_test_t test_c040_crypto_list[] = {
+const client_test_t test_c040_crypto_list[] = {
NULL,
psa_asymmetric_decrypt_test,
psa_asymmetric_decrypt_negative_test,
@@ -52,6 +51,7 @@
uint8_t *salt;
size_t length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -117,7 +117,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
if (is_buffer_empty(check1[i].salt, check1[i].salt_length) == TRUE)
@@ -129,7 +129,7 @@
salt = check1[i].salt;
/* Decrypt a short message with a private key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_DECRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_DECRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, salt,
check1[i].salt_length, output, check1[i].output_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -137,7 +137,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -150,7 +150,7 @@
TEST_ASSERT_MEMCMP(output, check1[i].expected_output, length, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
@@ -166,6 +166,7 @@
int32_t i, status;
uint8_t *salt;
size_t length;
+ psa_key_handle_t key_handle = 1;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -189,7 +190,7 @@
val->print(PRINT_TEST, "[Check %d] Test psa_asymmetric_decrypt - Invalid key handle\n",
g_test_count++);
/* Encrypt a short message with a public key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_DECRYPT, check2[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_DECRYPT, key_handle,
check2[i].key_alg, check2[i].input, check2[i].input_length, salt,
check2[i].salt_length, output, check2[i].output_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
diff --git a/api-tests/dev_apis/crypto/test_c040/test_c040.h b/api-tests/dev_apis/crypto/test_c040/test_c040.h
index 80e95f9..8758446 100644
--- a/api-tests/dev_apis/crypto/test_c040/test_c040.h
+++ b/api-tests/dev_apis/crypto/test_c040/test_c040.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c040_crypto_list[];
+extern const client_test_t test_c040_crypto_list[];
int32_t psa_asymmetric_decrypt_test(caller_security_t caller);
int32_t psa_asymmetric_decrypt_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c040/test_data.h b/api-tests/dev_apis/crypto/test_c040/test_data.h
index 371d230..348065c 100644
--- a/api-tests/dev_apis/crypto/test_c040/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c040/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[16];
uint32_t key_length;
@@ -125,7 +124,7 @@
static test_data check1[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
-{"Test psa_asymmetric_decrypt - RSA KEY_PAIR PKCS1V15\n", 1, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - RSA KEY_PAIR PKCS1V15\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0x99, 0xff, 0xde, 0x2f, 0xcc, 0x00, 0xc9, 0xcc, 0x01, 0x97, 0x2e, 0xbf, 0xa7,
@@ -148,7 +147,7 @@
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_RSA_OAEP
-{"Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256\n", 2, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256),
{0}, 0,
{0x3d, 0x31, 0x46, 0xb1, 0xc9, 0x82, 0x00, 0x42, 0x73, 0xa9, 0xeb, 0xb9, 0xb0,
@@ -166,7 +165,7 @@
0, 1024, PSA_SUCCESS
},
-{"Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256 with label\n", 3,
+{"Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256 with label\n",
PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_OAEP(PSA_ALG_SHA_256),
{0x74, 0x68, 0x69, 0x73, 0x00, 0x69, 0x73, 0x00, 0x61, 0x00, 0x6c, 0x61, 0x62,
@@ -191,7 +190,7 @@
#endif
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
-{"Test psa_asymmetric_decrypt - Invalid key type (RSA public key)\n", 4,
+{"Test psa_asymmetric_decrypt - Invalid key type (RSA public key)\n",
PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
@@ -210,7 +209,7 @@
0, 1024, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_asymmetric_decrypt - Small output buffer\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - Small output buffer\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0x99, 0xff, 0xde, 0x2f, 0xcc, 0x00, 0xc9, 0xcc, 0x01, 0x97, 0x2e, 0xbf, 0xa7,
@@ -232,7 +231,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_decrypt - Invalid algorithm\n", 6, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - Invalid algorithm\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_SHA_256,
{0}, 0,
{0x99, 0xff, 0xde, 0x2f, 0xcc, 0x00, 0xc9, 0xcc, 0x01, 0x97, 0x2e, 0xbf, 0xa7,
@@ -256,7 +255,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
#ifdef ARCH_TEST_AES_128
-{"Test psa_asymmetric_decrypt - Invalid key type (AES Key)\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_asymmetric_decrypt - Invalid key type (AES Key)\n", PSA_KEY_TYPE_AES,
{0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xaf, 0x05,
0x7d, 0x39, 0x6e}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
@@ -279,7 +278,7 @@
#endif
#ifdef ARCH_TEST_RSA_1024
-{"Test psa_asymmetric_decrypt - Invalid usage\n", 8, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - Invalid usage\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0x99, 0xff, 0xde, 0x2f, 0xcc, 0x00, 0xc9, 0xcc, 0x01, 0x97, 0x2e, 0xbf, 0xa7,
@@ -305,7 +304,7 @@
static test_data check2[] = {
#ifdef ARCH_TEST_RSA_PKCS1V15_CRYPT
#ifdef ARCH_TEST_RSA_1024
-{"Test psa_asymmetric_decrypt - Negative case\n", 1, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_decrypt - Negative case\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_DECRYPT, PSA_ALG_RSA_PKCS1V15_CRYPT,
{0}, 0,
{0x99, 0xff, 0xde, 0x2f, 0xcc, 0x00, 0xc9, 0xcc, 0x01, 0x97, 0x2e, 0xbf, 0xa7,
diff --git a/api-tests/dev_apis/crypto/test_c041/test_c041.c b/api-tests/dev_apis/crypto/test_c041/test_c041.c
index 8221728..c7cf836 100644
--- a/api-tests/dev_apis/crypto/test_c041/test_c041.c
+++ b/api-tests/dev_apis/crypto/test_c041/test_c041.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c041.h"
#include "test_data.h"
-client_test_t test_c041_crypto_list[] = {
+const client_test_t test_c041_crypto_list[] = {
NULL,
psa_asymmetric_sign_test,
psa_asymmetric_sign_negative_test,
@@ -38,6 +37,7 @@
const uint8_t *key_data;
size_t length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -102,11 +102,11 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Sign a hash or short message with a private key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_SIGN, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_SIGN, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length,
signature, check1[i].signature_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -114,7 +114,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -127,7 +127,7 @@
TEST_ASSERT_MEMCMP(signature, check1[i].expected_signature, length, TEST_CHECKPOINT_NUM(7));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
}
@@ -139,6 +139,7 @@
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
size_t length;
+ psa_key_handle_t key_handle = 10;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -153,7 +154,7 @@
val->print(PRINT_TEST, "[Check %d] Test psa_asymmetric_sign - Invalid key handle\n",
g_test_count++);
/* Sign a hash or short message with a private key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_SIGN, check2[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_SIGN, key_handle,
check2[i].key_alg, check2[i].input, check2[i].input_length,
signature, check2[i].signature_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
diff --git a/api-tests/dev_apis/crypto/test_c041/test_c041.h b/api-tests/dev_apis/crypto/test_c041/test_c041.h
index f761ec6..7bb26cb 100644
--- a/api-tests/dev_apis/crypto/test_c041/test_c041.h
+++ b/api-tests/dev_apis/crypto/test_c041/test_c041.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c041_crypto_list[];
+extern const client_test_t test_c041_crypto_list[];
int32_t psa_asymmetric_sign_test(caller_security_t caller);
int32_t psa_asymmetric_sign_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c041/test_data.h b/api-tests/dev_apis/crypto/test_c041/test_data.h
index 8c596e1..cbd1dd1 100644
--- a/api-tests/dev_apis/crypto/test_c041/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c041/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[16];
uint32_t key_length;
@@ -109,10 +108,10 @@
0x5e, 0x71, 0x78, 0x4e, 0x25, 0xac, 0xa4, 0xba, 0xf2, 0x5b, 0xe5, 0x73, 0x8a,
0xae, 0x59, 0xbb, 0xfe, 0x1c, 0x99, 0x77, 0x81, 0x44, 0x7a, 0x2b, 0x24};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_sign - RSA KEY_PAIR PKCS1V15 RAW\n", 1, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - RSA KEY_PAIR PKCS1V15 RAW\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3, 128,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -131,7 +130,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_sign - RSA KEY_PAIR PKCS1V15 SHA-256\n", 2, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - RSA KEY_PAIR PKCS1V15 SHA-256\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -155,7 +154,7 @@
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_DETERMINISTIC_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_asymmetric_sign - ECDSA SECP256R1 SHA-256\n", 3,
+{"Test psa_asymmetric_sign - ECDSA SECP256R1 SHA-256\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1), {0}, 32,
PSA_KEY_USAGE_SIGN, PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256),
{0x9a, 0xc4, 0x33, 0x5b, 0x46, 0x9b, 0xbd, 0x79, 0x14, 0x39, 0x24, 0x85, 0x04,
@@ -173,7 +172,7 @@
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
-{"Test psa_asymmetric_sign - Invalid key type (RSA public key)\n", 4,
+{"Test psa_asymmetric_sign - Invalid key type (RSA public key)\n",
PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -192,7 +191,7 @@
128, 1024, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_asymmetric_sign - Small output buffer\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - Small output buffer\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -211,7 +210,7 @@
},
#endif
-{"Test psa_asymmetric_sign - Invalid algorithm\n", 6, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - Invalid algorithm\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_SHA_256,
{0x61, 0x62, 0x63}, 3, 128,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -230,7 +229,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_AES_128
-{"Test psa_asymmetric_sign - Invalid key type (AES Key)\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_asymmetric_sign - Invalid key type (AES Key)\n", PSA_KEY_TYPE_AES,
{0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xaf, 0x05,
0x7d, 0x39, 0x6e}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_SIGN,
PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
@@ -253,7 +252,7 @@
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_sign - Invalid usage\n", 8, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - Invalid usage\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3, 128,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -272,7 +271,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_sign - Wrong hash size\n", 9, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - Wrong hash size\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -294,10 +293,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_sign - Negative case\n", 10, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_sign - Negative case\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_SIGN, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3, 128,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
diff --git a/api-tests/dev_apis/crypto/test_c042/test_c042.c b/api-tests/dev_apis/crypto/test_c042/test_c042.c
index 996577d..f257c82 100644
--- a/api-tests/dev_apis/crypto/test_c042/test_c042.c
+++ b/api-tests/dev_apis/crypto/test_c042/test_c042.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c042.h"
#include "test_data.h"
-client_test_t test_c042_crypto_list[] = {
+const client_test_t test_c042_crypto_list[] = {
NULL,
psa_asymmetric_verify_test,
psa_asymmetric_verify_negative_test,
@@ -36,6 +35,7 @@
int32_t i, status;
const uint8_t *key_data;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -99,17 +99,17 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Verify the signature a hash or short message using a public key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_VERIFY, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_VERIFY, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length,
check1[i].signature, check1[i].signature_size);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy a key and restore the slot to its default state */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
}
@@ -120,6 +120,7 @@
{
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
+ psa_key_handle_t key_handle = 13;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -135,7 +136,7 @@
TEST_ASSERT_EQUAL(status, VAL_STATUS_SUCCESS, TEST_CHECKPOINT_NUM(2));
/* Verify the signature a hash or short message using a public key */
- status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_VERIFY, check2[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_ASYMMTERIC_VERIFY, key_handle,
check2[i].key_alg, check2[i].input, check2[i].input_length,
check2[i].signature, check2[i].signature_size);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
diff --git a/api-tests/dev_apis/crypto/test_c042/test_c042.h b/api-tests/dev_apis/crypto/test_c042/test_c042.h
index ffa2eaf..9fcdee8 100644
--- a/api-tests/dev_apis/crypto/test_c042/test_c042.h
+++ b/api-tests/dev_apis/crypto/test_c042/test_c042.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c042_crypto_list[];
+extern const client_test_t test_c042_crypto_list[];
int32_t psa_asymmetric_verify_test(caller_security_t caller);
int32_t psa_asymmetric_verify_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c042/test_data.h b/api-tests/dev_apis/crypto/test_c042/test_data.h
index 95a1c72..7ac5096 100644
--- a/api-tests/dev_apis/crypto/test_c042/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c042/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[16];
uint32_t key_length;
@@ -114,10 +113,10 @@
0x5e, 0x71, 0x78, 0x4e, 0x25, 0xac, 0xa4, 0xba, 0xf2, 0x5b, 0xe5, 0x73, 0x8a,
0xae, 0x59, 0xbb, 0xfe, 0x1c, 0x99, 0x77, 0x81, 0x44, 0x7a, 0x2b, 0x24};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_verify - RSA KEY_PAIR PKCS1V15 RAW\n", 1, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - RSA KEY_PAIR PKCS1V15 RAW\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -136,7 +135,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_verify - RSA KEY_PAIR PKCS1V15 SHA-256\n", 2, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - RSA KEY_PAIR PKCS1V15 SHA-256\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -160,7 +159,7 @@
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_DETERMINISTIC_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_asymmetric_verify - ECDSA KEY_PAIR SECP256R1 SHA-256\n", 3,
+{"Test psa_asymmetric_verify - ECDSA KEY_PAIR SECP256R1 SHA-256\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1), {0}, 32,
PSA_KEY_USAGE_VERIFY, PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256),
{0x9a, 0xc4, 0x33, 0x5b, 0x46, 0x9b, 0xbd, 0x79, 0x14, 0x39, 0x24, 0x85, 0x04,
@@ -178,7 +177,7 @@
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
-{"Test psa_asymmetric_verify - RSA public key\n", 4,
+{"Test psa_asymmetric_verify - RSA public key\n",
PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -197,7 +196,7 @@
128, 1024, PSA_SUCCESS
},
-{"Test psa_asymmetric_verify - Small output buffer\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - Small output buffer\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -216,7 +215,7 @@
},
#endif
-{"Test psa_asymmetric_verify - Invalid algorithm\n", 6, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - Invalid algorithm\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_SHA_256,
{0x61, 0x62, 0x63}, 3,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -235,7 +234,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_AES_128
-{"Test psa_asymmetric_verify - Invalid key type (AES Key)\n", 7, PSA_KEY_TYPE_AES,
+{"Test psa_asymmetric_verify - Invalid key type (AES Key)\n", PSA_KEY_TYPE_AES,
{0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xaf, 0x05,
0x7d, 0x39, 0x6e}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_VERIFY,
PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
@@ -258,7 +257,7 @@
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_verify - Invalid usage\n", 8, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - Invalid usage\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
@@ -277,7 +276,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN
#ifdef ARCH_TEST_SHA256
-{"Test psa_asymmetric_verify - Wrong hash size\n", 9, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - Wrong hash size\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
0xae, 0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10,
@@ -295,7 +294,7 @@
128, 1024, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_asymmetric_verify - Wrong signature\n", 10,
+{"Test psa_asymmetric_verify - Wrong signature\n",
PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0}, 162, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256),
{0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d,
@@ -319,7 +318,7 @@
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
#ifdef ARCH_TEST_ECDSA
-{"Test psa_asymmetric_verify - EC public key\n", 11,
+{"Test psa_asymmetric_verify - EC public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0}, 65, PSA_KEY_USAGE_VERIFY, PSA_ALG_ECDSA_ANY,
{0x9a, 0xc4, 0x33, 0x5b, 0x46, 0x9b, 0xbd, 0x79, 0x14, 0x39, 0x24, 0x85, 0x04,
@@ -333,7 +332,7 @@
64, 512, PSA_SUCCESS
},
-{"Test psa_asymmetric_verify - Wrong signature size\n", 12,
+{"Test psa_asymmetric_verify - Wrong signature size\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0}, 65, PSA_KEY_USAGE_VERIFY, PSA_ALG_ECDSA_ANY,
{0x9a, 0xc4, 0x33, 0x5b, 0x46, 0x9b, 0xbd, 0x79, 0x14, 0x39, 0x24, 0x85, 0x04,
@@ -350,10 +349,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_RSA_1024
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
-{"Test psa_asymmetric_verify - Negative case\n", 13, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_asymmetric_verify - Negative case\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0}, 610, PSA_KEY_USAGE_VERIFY, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
{0x61, 0x62, 0x63}, 3,
{0x2c, 0x77, 0x44, 0x98, 0x3f, 0x02, 0x3a, 0xc7, 0xbb, 0x1c, 0x55, 0x52, 0x9d,
diff --git a/api-tests/dev_apis/crypto/test_c043/test_c043.c b/api-tests/dev_apis/crypto/test_c043/test_c043.c
index 5817fa2..d048364 100644
--- a/api-tests/dev_apis/crypto/test_c043/test_c043.c
+++ b/api-tests/dev_apis/crypto/test_c043/test_c043.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c043.h"
#include "test_data.h"
-client_test_t test_c043_crypto_list[] = {
+const client_test_t test_c043_crypto_list[] = {
NULL,
psa_raw_key_agreement_test,
psa_raw_key_agreement_negative_test,
@@ -36,6 +36,7 @@
int32_t i, status;
size_t output_length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,19 +64,19 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set up a key agreement operation */
status = val->crypto_function(VAL_CRYPTO_RAW_KEY_AGREEMENT, check1[i].key_alg,
- check1[i].key_handle, check1[i].peer_key, check1[i].peer_key_length,
+ key_handle, check1[i].peer_key, check1[i].peer_key_length,
output, check1[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy a key and restore the slot to its default state */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
}
@@ -85,7 +86,7 @@
TEST_CHECKPOINT_NUM(7));
/* Destroy a key and restore the slot to its default state */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
}
@@ -97,6 +98,7 @@
int num_checks = sizeof(check2)/sizeof(check2[0]);
int32_t i, status;
size_t output_length;
+ psa_key_handle_t key_handle = 8;
/* Initialize the PSA crypto library*/
status = val->crypto_function(VAL_CRYPTO_INIT);
@@ -113,7 +115,7 @@
g_test_count++);
/* Set up a key agreement operation */
status = val->crypto_function(VAL_CRYPTO_RAW_KEY_AGREEMENT, check2[i].key_alg,
- check2[i].key_handle, check2[i].peer_key, check2[i].peer_key_length,
+ key_handle, check2[i].peer_key, check2[i].peer_key_length,
output, check2[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(3));
diff --git a/api-tests/dev_apis/crypto/test_c043/test_c043.h b/api-tests/dev_apis/crypto/test_c043/test_c043.h
index 136a47b..265be6f 100644
--- a/api-tests/dev_apis/crypto/test_c043/test_c043.h
+++ b/api-tests/dev_apis/crypto/test_c043/test_c043.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c043_crypto_list[];
+extern const client_test_t test_c043_crypto_list[];
int32_t psa_raw_key_agreement_test(caller_security_t caller);
int32_t psa_raw_key_agreement_negative_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c043/test_data.h b/api-tests/dev_apis/crypto/test_c043/test_data.h
index 15cf38f..c66c2b2 100644
--- a/api-tests/dev_apis/crypto/test_c043/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c043/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[91];
uint32_t key_length;
@@ -34,10 +33,10 @@
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_ECDH
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_raw_key_agreement - ECDH SECP256R1\n", 1,
+{"Test psa_raw_key_agreement - ECDH SECP256R1\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -53,7 +52,7 @@
0x64, 0xd0, 0x4b, 0x94, 0x42, 0xde}, 32, 32, PSA_SUCCESS
},
-{"Test psa_raw_key_agreement - Small buffer size\n", 1,
+{"Test psa_raw_key_agreement - Small buffer size\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -72,7 +71,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP384R1
-{"Test psa_raw_key_agreement - ECDH SECP384R1\n", 2,
+{"Test psa_raw_key_agreement - ECDH SECP384R1\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP384R1),
{0x09, 0x9f, 0x3c, 0x70, 0x34, 0xd4, 0xa2, 0xc6, 0x99, 0x88, 0x4d, 0x73, 0xa3,
0x75, 0xa6, 0x7f, 0x76, 0x24, 0xef, 0x7c, 0x6b, 0x3c, 0x0f, 0x16, 0x06, 0x47,
@@ -96,7 +95,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_raw_key_agreement - Invalid usage\n", 3,
+{"Test psa_raw_key_agreement - Invalid usage\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -112,7 +111,7 @@
0x64, 0xd0, 0x4b, 0x94, 0x42, 0xde}, 32, 32, PSA_ERROR_NOT_PERMITTED
},
-{"Test psa_raw_key_agreement - Unknown KDF\n", 4,
+{"Test psa_raw_key_agreement - Unknown KDF\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -134,7 +133,7 @@
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
#ifdef ARCH_TEST_SHA256
#ifdef ARCH_TEST_HKDF
-{"Test psa_raw_key_agreement - Not a key agreement alg\n", 5,
+{"Test psa_raw_key_agreement - Not a key agreement alg\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -153,7 +152,7 @@
#endif
#ifdef ARCH_TEST_ECDH
-{"Test psa_raw_key_agreement - Public key on different curve\n", 6,
+{"Test psa_raw_key_agreement - Public key on different curve\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
@@ -170,7 +169,7 @@
{0}, 0, SIZE_50B, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_raw_key_agreement - Public key instead of private key\n", 7,
+{"Test psa_raw_key_agreement - Public key instead of private key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0x04, 0xd1, 0x2d, 0xfb, 0x52, 0x89, 0xc8, 0xd4, 0xf8, 0x12, 0x08, 0xb7, 0x02,
0x70, 0x39, 0x8c, 0x34, 0x22, 0x96, 0x97, 0x0a, 0x0b, 0xcc, 0xb7, 0x4c, 0x73,
@@ -189,10 +188,10 @@
#endif
};
-static test_data check2[] = {
+static const test_data check2[] = {
#ifdef ARCH_TEST_ECDH
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_raw_key_agreement - Negative case\n", 8,
+{"Test psa_raw_key_agreement - Negative case\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP256R1),
{0xc8, 0x8f, 0x01, 0xf5, 0x10, 0xd9, 0xac, 0x3f, 0x70, 0xa2, 0x92, 0xda, 0xa2,
0x31, 0x6d, 0xe5, 0x44, 0xe9, 0xaa, 0xb8, 0xaf, 0xe8, 0x40, 0x49, 0xc6, 0x2a,
diff --git a/api-tests/dev_apis/crypto/test_c044/test_c044.c b/api-tests/dev_apis/crypto/test_c044/test_c044.c
index 60cf422..f2a085b 100644
--- a/api-tests/dev_apis/crypto/test_c044/test_c044.c
+++ b/api-tests/dev_apis/crypto/test_c044/test_c044.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c044_crypto_list[] = {
+const client_test_t test_c044_crypto_list[] = {
NULL,
psa_copy_key_test,
NULL,
@@ -43,6 +43,7 @@
int32_t status, export_status;
psa_key_attributes_t source_attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t target_attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -103,7 +104,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &source_attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Setup the attributes for the target key */
@@ -115,12 +116,12 @@
check1[i].target_usage);
/* Make a copy of a key */
- status = val->crypto_function(VAL_CRYPTO_COPY_KEY, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_COPY_KEY, key_handle,
&target_attributes, &target_handle);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the source key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
if (check1[i].expected_status != PSA_SUCCESS)
@@ -185,7 +186,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(15));
/* Copy on a destroyed source should be an error */
- status = val->crypto_function(VAL_CRYPTO_COPY_KEY, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_COPY_KEY, key_handle,
&target_attributes, &target_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(16));
diff --git a/api-tests/dev_apis/crypto/test_c044/test_c044.h b/api-tests/dev_apis/crypto/test_c044/test_c044.h
index caea58b..1a5e9c7 100644
--- a/api-tests/dev_apis/crypto/test_c044/test_c044.h
+++ b/api-tests/dev_apis/crypto/test_c044/test_c044.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c044_crypto_list[];
+extern const client_test_t test_c044_crypto_list[];
int32_t psa_copy_key_test(caller_security_t caller);
#endif /* _TEST_C044_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c044/test_data.h b/api-tests/dev_apis/crypto/test_c044/test_data.h
index e5dd430..0903eb6 100644
--- a/api-tests/dev_apis/crypto/test_c044/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c044/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -164,10 +163,10 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_copy_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_copy_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE,
@@ -177,7 +176,7 @@
BYTES_TO_BITS(AES_16B_KEY_SIZE), AES_16B_KEY_SIZE, PSA_SUCCESS
},
-{"Test psa_copy_key without copy usage\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_copy_key without copy usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE,
@@ -189,7 +188,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_copy_key 24 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_copy_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE,
@@ -202,7 +201,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_copy_key 32 Byte AES\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_copy_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -218,7 +217,7 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_copy_key 2048 RSA public key\n", 5, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_copy_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN,
@@ -229,7 +228,7 @@
2048, 270, PSA_SUCCESS
},
-{"Test psa_copy_key with RSA 2048 keypair\n", 6, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_copy_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
@@ -241,7 +240,7 @@
},
{"Test psa_copy_key with Incompatible target policy(source and target)\n",
- 7, PSA_KEY_TYPE_RSA_KEY_PAIR,
+ PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT, PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
@@ -251,7 +250,7 @@
2048, 1193, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_copy_key with Incompatible constraint\n", 8, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_copy_key with Incompatible constraint\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT, PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
@@ -261,7 +260,7 @@
2048, 1193, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_copy_key with unexport source key usage\n", 9, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_copy_key with unexport source key usage\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_SIGN, PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
@@ -276,7 +275,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_copy_key with DES 64 bit key\n", 10, PSA_KEY_TYPE_DES,
+{"Test psa_copy_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE,
PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT, PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
@@ -287,7 +286,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_copy_key with Triple DES 2-Key\n", 11, PSA_KEY_TYPE_DES,
+{"Test psa_copy_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE,
@@ -299,7 +298,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_copy_key with Triple DES 3-Key\n", 12, PSA_KEY_TYPE_DES,
+{"Test psa_copy_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -314,7 +313,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_copy_key with EC Public key\n", 13,
+{"Test psa_copy_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65,
@@ -326,7 +325,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_copy_key with EC keypair\n", 14,
+{"Test psa_copy_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28,
@@ -340,7 +339,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES
-{"Test psa_copy_key with Incompatible target policy\n", 15, PSA_KEY_TYPE_AES,
+{"Test psa_copy_key with Incompatible target policy\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE,
diff --git a/api-tests/dev_apis/crypto/test_c045/test_c045.c b/api-tests/dev_apis/crypto/test_c045/test_c045.c
index 03e06f8..c03ab4e 100644
--- a/api-tests/dev_apis/crypto/test_c045/test_c045.c
+++ b/api-tests/dev_apis/crypto/test_c045/test_c045.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c045_crypto_list[] = {
+const client_test_t test_c045_crypto_list[] = {
NULL,
psa_hash_clone_test,
NULL,
diff --git a/api-tests/dev_apis/crypto/test_c045/test_c045.h b/api-tests/dev_apis/crypto/test_c045/test_c045.h
index df92d96..aba247e 100644
--- a/api-tests/dev_apis/crypto/test_c045/test_c045.h
+++ b/api-tests/dev_apis/crypto/test_c045/test_c045.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c045_crypto_list[];
+extern const client_test_t test_c045_crypto_list[];
int32_t psa_hash_clone_test(caller_security_t caller);
#endif /* _TEST_C045_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c045/test_data.h b/api-tests/dev_apis/crypto/test_c045/test_data.h
index 55eff9f..a284be0 100644
--- a/api-tests/dev_apis/crypto/test_c045/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c045/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,7 +40,7 @@
0xcb, 0x7b, 0x00, 0xae, 0xa8, 0x91, 0x49, 0x9c, 0xf4, 0xef, 0x6a, 0x03, 0xc8, 0xa8, 0x3f, 0xe3,
0x7c, 0x3f, 0x7b, 0xaf};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_MD2
{"Test psa_hash_clone with MD2 algorithm\n",
PSA_ALG_MD2, 0xbd, 1,
diff --git a/api-tests/dev_apis/crypto/test_c046/test_c046.c b/api-tests/dev_apis/crypto/test_c046/test_c046.c
index 0ed33fa..6f08f80 100644
--- a/api-tests/dev_apis/crypto/test_c046/test_c046.c
+++ b/api-tests/dev_apis/crypto/test_c046/test_c046.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c046.h"
#include "test_data.h"
-client_test_t test_c046_crypto_list[] = {
+const client_test_t test_c046_crypto_list[] = {
NULL,
psa_mac_compute_test,
NULL,
@@ -36,6 +35,7 @@
int32_t i, status;
size_t length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -64,11 +64,11 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Calculate the MAC (message authentication code) of a message */
- status = val->crypto_function(VAL_CRYPTO_MAC_COMPUTE, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_MAC_COMPUTE, key_handle,
check1[i].key_alg, check1[i].data, check1[i].data_size, data,
check1[i].mac_size, &length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
@@ -76,7 +76,7 @@
if (check1[i].expected_status != PSA_SUCCESS)
{
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
continue;
@@ -91,13 +91,13 @@
memset(data, 0, sizeof(data));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Reset the key attributes and check if psa_import_key fails */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
- status = val->crypto_function(VAL_CRYPTO_MAC_COMPUTE, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_MAC_COMPUTE, key_handle,
check1[i].key_alg, check1[i].data, check1[i].data_size, data,
check1[i].mac_size, &length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(9));
diff --git a/api-tests/dev_apis/crypto/test_c046/test_c046.h b/api-tests/dev_apis/crypto/test_c046/test_c046.h
index b0d994e..ddd8c1b 100644
--- a/api-tests/dev_apis/crypto/test_c046/test_c046.h
+++ b/api-tests/dev_apis/crypto/test_c046/test_c046.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c046_crypto_list[];
+extern const client_test_t test_c046_crypto_list[];
int32_t psa_mac_compute_test(caller_security_t caller);
#endif /* _TEST_C046_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c046/test_data.h b/api-tests/dev_apis/crypto/test_c046/test_data.h
index 5ab7070..6830ac4 100644
--- a/api-tests/dev_apis/crypto/test_c046/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c046/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -33,10 +32,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_compute HMAC SHA 224\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -47,7 +46,7 @@
PSA_SUCCESS
},
-{"Test psa_mac_compute - Incompactible HMAC for CMAC\n", 2, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute - Incompactible HMAC for CMAC\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -58,7 +57,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_compute - Invalid usage\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute - Invalid usage\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -69,7 +68,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_compute - truncated MAC too small\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute - truncated MAC too small\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -80,7 +79,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_compute - truncated MAC too large\n", 5, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute - truncated MAC too large\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -91,7 +90,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_mac_compute - bad algorithm (unknown MAC algorithm)\n", 6, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute - bad algorithm (unknown MAC algorithm)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -104,7 +103,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_compute HMAC SHA 256\n", 7, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -117,7 +116,7 @@
#endif
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_compute HMAC SHA 512\n", 8, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -132,7 +131,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_compute HMAC SHA 224 (truncated to 8 Byte)\n", 9, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_compute HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -145,7 +144,7 @@
#ifdef ARCH_TEST_CMAC
#ifdef ARCH_TEST_AES_128
-{"Test psa_mac_compute CMAC AES 128\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_mac_compute CMAC AES 128\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -155,7 +154,7 @@
PSA_SUCCESS
},
-{"Test psa_mac_compute small size buffer\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_mac_compute small size buffer\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -166,7 +165,7 @@
},
#endif
-{"Test psa_mac_compute - Invalid key type\n", 12, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_mac_compute - Invalid key type\n", PSA_KEY_TYPE_RAW_DATA,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
diff --git a/api-tests/dev_apis/crypto/test_c047/test_c047.c b/api-tests/dev_apis/crypto/test_c047/test_c047.c
index da4d267..55f8d6b 100644
--- a/api-tests/dev_apis/crypto/test_c047/test_c047.c
+++ b/api-tests/dev_apis/crypto/test_c047/test_c047.c
@@ -1,6 +1,5 @@
-
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +20,7 @@
#include "test_c047.h"
#include "test_data.h"
-client_test_t test_c047_crypto_list[] = {
+const client_test_t test_c047_crypto_list[] = {
NULL,
psa_mac_verify_test,
NULL,
@@ -34,6 +33,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
int32_t i, status;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,24 +61,24 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Calculate the MAC of a message and compare it with a reference value */
- status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY, key_handle,
check1[i].key_alg, check1[i].data, check1[i].data_size,
check1[i].expected_mac, check1[i].mac_size);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Reset the key attributes and check if psa_import_key fails */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
/* Calculate the MAC of a message on a destroyed key handle should be an error */
- status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_MAC_VERIFY, key_handle,
check1[i].key_alg, check1[i].data, check1[i].data_size,
check1[i].expected_mac, check1[i].mac_size);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(6));
diff --git a/api-tests/dev_apis/crypto/test_c047/test_c047.h b/api-tests/dev_apis/crypto/test_c047/test_c047.h
index 7e36fd3..e33762c 100644
--- a/api-tests/dev_apis/crypto/test_c047/test_c047.h
+++ b/api-tests/dev_apis/crypto/test_c047/test_c047.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c047_crypto_list[];
+extern const client_test_t test_c047_crypto_list[];
int32_t psa_mac_verify_test(caller_security_t caller);
#endif /* _TEST_C047_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c047/test_data.h b/api-tests/dev_apis/crypto/test_c047/test_data.h
index e94b27f..5a21729 100644
--- a/api-tests/dev_apis/crypto/test_c047/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c047/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[64];
uint32_t key_length;
@@ -32,10 +31,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify HMAC SHA 224\n", 1, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -48,7 +47,7 @@
#endif
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify HMAC SHA 256\n", 2, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -59,7 +58,7 @@
PSA_SUCCESS
},
-{"Test psa_mac_verify - Incompactible HMAC for CMAC\n", 3, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify - Incompactible HMAC for CMAC\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -70,7 +69,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_verify - Invalid usage\n", 4, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify - Invalid usage\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -81,7 +80,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_verify - Truncated MAC too large\n", 5, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify - Truncated MAC too large\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -92,7 +91,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_mac_verify - Truncated MAC too small\n", 6, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify - Truncated MAC too small\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -103,7 +102,7 @@
PSA_ERROR_NOT_SUPPORTED
},
-{"Test psa_mac_verify - bad algorithm (unknown MAC algorithm)\n", 7, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify - bad algorithm (unknown MAC algorithm)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -117,7 +116,7 @@
#endif
#ifdef ARCH_TEST_SHA512
-{"Test psa_mac_verify HMAC SHA 512\n", 8, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -132,7 +131,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify HMAC SHA 224 (truncated to 8 Byte)\n", 9, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -145,7 +144,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CMAC
-{"Test psa_mac_verify CMAC AES 128\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify CMAC AES 128\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -157,7 +156,7 @@
#endif
#endif
-{"Test psa_mac_verify - Invalid key type\n", 11, PSA_KEY_TYPE_RAW_DATA,
+{"Test psa_mac_verify - Invalid key type\n", PSA_KEY_TYPE_RAW_DATA,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, 16,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -169,7 +168,7 @@
#ifdef ARCH_TEST_HMAC
#ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify small size buffer\n", 12, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify small size buffer\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -182,7 +181,7 @@
#endif
#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify incorrect expected MAC\n", 13, PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify incorrect expected MAC\n", PSA_KEY_TYPE_HMAC,
{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
{0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
diff --git a/api-tests/dev_apis/crypto/test_c048/test_c048.c b/api-tests/dev_apis/crypto/test_c048/test_c048.c
index 8ad6cd0..d791fd0 100644
--- a/api-tests/dev_apis/crypto/test_c048/test_c048.c
+++ b/api-tests/dev_apis/crypto/test_c048/test_c048.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c048.h"
#include "test_data.h"
-client_test_t test_c048_crypto_list[] = {
+const client_test_t test_c048_crypto_list[] = {
NULL,
psa_cipher_encrypt_test,
NULL,
@@ -35,6 +35,7 @@
int32_t i, status;
size_t output_length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -62,17 +63,17 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Encrypt a message using a symmetric cipher */
- status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, output,
check1[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Reset the key attributes and check if psa_import_key fails */
@@ -89,7 +90,7 @@
TEST_CHECKPOINT_NUM(7));
/* Encrypt a message using a symmetric cipher on an aborted key handle should be an error */
- status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_CIPHER_ENCRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, output,
check1[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(8));
diff --git a/api-tests/dev_apis/crypto/test_c048/test_c048.h b/api-tests/dev_apis/crypto/test_c048/test_c048.h
index d0ede7b..16db18e 100644
--- a/api-tests/dev_apis/crypto/test_c048/test_c048.h
+++ b/api-tests/dev_apis/crypto/test_c048/test_c048.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c048_crypto_list[];
+extern const client_test_t test_c048_crypto_list[];
int32_t psa_cipher_encrypt_test(caller_security_t caller);
#endif /* _TEST_C048_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c048/test_data.h b/api-tests/dev_apis/crypto/test_c048/test_data.h
index 0f9abe3..bf67c1a 100644
--- a/api-tests/dev_apis/crypto/test_c048/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c048/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -33,10 +32,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -46,7 +45,7 @@
0x20, 0x74, 0x3B}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING (Short input)\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -56,7 +55,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -67,7 +66,7 @@
0x42, 0x93, 0x03, 0x1c, 0xd4, 0xf3}, 16, PSA_SUCCESS
},
-{"Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7 (Short input)\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -79,7 +78,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_encrypt - Encrypt - AES CTR\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -89,7 +88,7 @@
0xb2, 0xbd, 0x32}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_encrypt - Encrypt - AES CTR (short input)\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Encrypt - AES CTR (short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CTR,
@@ -103,7 +102,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_encrypt - Encrypt - DES CBC (nopad)\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt - Encrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
{0xed, 0xa4, 0x01, 0x12, 0x39, 0xbc, 0x3a, 0xc9}, 8, SIZE_32B,
@@ -112,7 +111,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_encrypt - Encrypt - 2-key 3DE -CBC (nopad)\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt - Encrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -122,7 +121,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_encrypt - Encrypt - 3-key 3DE -CBC (nopad)\n", 9, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_encrypt - Encrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -134,7 +133,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_encrypt - small output buffer size\n", 10, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - small output buffer size\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_PKCS7,
@@ -147,7 +146,7 @@
#endif
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_encrypt - Decrypt - AES CBC_NO_PADDING\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_encrypt - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
diff --git a/api-tests/dev_apis/crypto/test_c049/test_c049.c b/api-tests/dev_apis/crypto/test_c049/test_c049.c
index e923582..de53362 100644
--- a/api-tests/dev_apis/crypto/test_c049/test_c049.c
+++ b/api-tests/dev_apis/crypto/test_c049/test_c049.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c049.h"
#include "test_data.h"
-client_test_t test_c049_crypto_list[] = {
+const client_test_t test_c049_crypto_list[] = {
NULL,
psa_cipher_decrypt_test,
NULL,
@@ -35,6 +35,7 @@
int32_t i, status;
size_t output_length;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -62,17 +63,17 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Decrypt a message using a symmetric cipher */
- status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, output,
check1[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Reset the key attributes and check if psa_import_key fails */
@@ -88,7 +89,7 @@
TEST_ASSERT_MEMCMP(output, check1[i].expected_output, output_length,
TEST_CHECKPOINT_NUM(7));
- status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_CIPHER_DECRYPT, key_handle,
check1[i].key_alg, check1[i].input, check1[i].input_length, output,
check1[i].output_size, &output_length);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(8));
diff --git a/api-tests/dev_apis/crypto/test_c049/test_c049.h b/api-tests/dev_apis/crypto/test_c049/test_c049.h
index 412a8ae..2b2ab06 100644
--- a/api-tests/dev_apis/crypto/test_c049/test_c049.h
+++ b/api-tests/dev_apis/crypto/test_c049/test_c049.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c049_crypto_list[];
+extern const client_test_t test_c049_crypto_list[];
int32_t psa_cipher_decrypt_test(caller_security_t caller);
#endif /* _TEST_C049_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c049/test_data.h b/api-tests/dev_apis/crypto/test_c049/test_data.h
index 2598395..8a74e81 100644
--- a/api-tests/dev_apis/crypto/test_c049/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c049/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -33,10 +32,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_decrypt - Encrypt - AES CBC_NO_PADDING\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Encrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -48,7 +47,7 @@
#endif
#ifdef ARCH_TEST_CBC_NO_PADDING
-{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -59,7 +58,7 @@
0x93, 0x17, 0x2a}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING (Short input)\n", 12, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -67,7 +66,7 @@
{0x6b, 0xc1, 0xbe, 0xe2, 0x23}, 0, PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -81,7 +80,7 @@
#endif
#ifdef ARCH_TEST_CBC_PKCS7
-{"Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7\n", 13, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -92,7 +91,7 @@
0x93, 0x17, 0x2a}, 0, PSA_SUCCESS
},
-{"Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7 (Short input)\n", 14, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7 (Short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_PKCS7,
@@ -104,7 +103,7 @@
#endif
#ifdef ARCH_TEST_CIPER_MODE_CTR
-{"Test psa_cipher_decrypt - Decrypt - AES CTR\n", 15, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CTR\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -115,7 +114,7 @@
0, PSA_SUCCESS
},
-{"Test psa_cipher_decrypt - Decrypt - AES CTR (short input)\n", 16, PSA_KEY_TYPE_AES,
+{"Test psa_cipher_decrypt - Decrypt - AES CTR (short input)\n", PSA_KEY_TYPE_AES,
{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CTR,
@@ -129,7 +128,7 @@
#ifdef ARCH_TEST_CBC_NO_PADDING
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_cipher_decrypt - Decrypt - DES CBC (nopad)\n", 17, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt - Decrypt - DES CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
{0x64, 0xf9, 0x17, 0xb0, 0x15, 0x2f, 0x8f, 0x05}, 8, SIZE_32B,
@@ -138,7 +137,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_cipher_decrypt - Decrypt - 2-key 3DE -CBC (nopad)\n", 18, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt - Decrypt - 2-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce}, DES3_2KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
@@ -148,7 +147,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_cipher_decrypt - 3-key 3DE -CBC (nopad)\n", 19, PSA_KEY_TYPE_DES,
+{"Test psa_cipher_decrypt - 3-key 3DE -CBC (nopad)\n", PSA_KEY_TYPE_DES,
{0x01, 0x02, 0x04, 0x07, 0x08, 0x0b, 0x0d, 0x0e, 0xc1, 0xc2, 0xc4, 0xc7, 0xc8,
0xcb, 0xcd, 0xce, 0x31, 0x32, 0x34, 0x37, 0x38, 0x3b, 0x3d, 0x3e}, DES3_3KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CBC_NO_PADDING,
diff --git a/api-tests/dev_apis/crypto/test_c050/test_c050.c b/api-tests/dev_apis/crypto/test_c050/test_c050.c
index ee48216..a7cf51e 100644
--- a/api-tests/dev_apis/crypto/test_c050/test_c050.c
+++ b/api-tests/dev_apis/crypto/test_c050/test_c050.c
@@ -21,7 +21,7 @@
#include "test_data.h"
#include "val_crypto.h"
-client_test_t test_c050_crypto_list[] = {
+const client_test_t test_c050_crypto_list[] = {
NULL,
psa_open_key_test,
NULL,
@@ -44,6 +44,7 @@
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t get_attributes = PSA_KEY_ATTRIBUTES_INIT;
boot_t boot;
+ psa_key_handle_t tdata_key_handle;
if (num_checks == 0)
{
@@ -127,7 +128,7 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &tdata_key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Save the details of current check, key id and key handle value in NV memory */
@@ -138,7 +139,7 @@
sizeof(psa_key_id_t));
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
- status = val->nvmem_write(VAL_NVMEM_OFFSET(NV_TEST_DATA3), &check1[i].key_handle,
+ status = val->nvmem_write(VAL_NVMEM_OFFSET(NV_TEST_DATA3), &tdata_key_handle,
sizeof(psa_key_handle_t));
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
@@ -147,7 +148,11 @@
TEST_ASSERT_EQUAL(status, VAL_STATUS_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Wait for system to reset */
- val->crypto_function(VAL_CRYPTO_RESET);
+ status = val->crypto_function(VAL_CRYPTO_RESET);
+ if (status != PSA_SUCCESS)
+ {
+ return RESULT_SKIP(status);
+ }
while (1);
}
else if (boot.state == BOOT_EXPECTED_CONT_TEST_EXEC)
diff --git a/api-tests/dev_apis/crypto/test_c050/test_c050.h b/api-tests/dev_apis/crypto/test_c050/test_c050.h
index 76fc8c5..d3179e3 100644
--- a/api-tests/dev_apis/crypto/test_c050/test_c050.h
+++ b/api-tests/dev_apis/crypto/test_c050/test_c050.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c050_crypto_list[];
+extern const client_test_t test_c050_crypto_list[];
int32_t psa_open_key_test(caller_security_t caller);
#endif /* _TEST_C050_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c050/test_data.h b/api-tests/dev_apis/crypto/test_c050/test_data.h
index 3a61714..24fa169 100644
--- a/api-tests/dev_apis/crypto/test_c050/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c050/test_data.h
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
psa_key_id_t key_id;
uint8_t key_data[34];
@@ -166,7 +165,7 @@
static test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_open_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES, 0x12,
+{"Test psa_open_key 16 Byte AES\n", PSA_KEY_TYPE_AES, 0x12,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9, 0x77},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, PSA_KEY_LIFETIME_PERSISTENT,
@@ -175,7 +174,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_open_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES, 0x34,
+{"Test psa_open_key 24 Byte AES\n", PSA_KEY_TYPE_AES, 0x34,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05},
AES_24B_KEY_SIZE, BYTES_TO_BITS(AES_24B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -185,7 +184,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_open_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES, 0x56,
+{"Test psa_open_key 32 Byte AES\n", PSA_KEY_TYPE_AES, 0x56,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -197,13 +196,13 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_open_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY, 0x78,
+{"Test psa_open_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY, 0x78,
{0},
270, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, PSA_KEY_LIFETIME_PERSISTENT,
2048, 270, PSA_SUCCESS
},
-{"Test psa_open_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR, 0x89,
+{"Test psa_open_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR, 0x89,
{0},
1193, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW, PSA_KEY_LIFETIME_PERSISTENT,
2048, 1193, PSA_SUCCESS
@@ -213,7 +212,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_open_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES, 0x90,
+{"Test psa_open_key with DES 64 bit key\n", PSA_KEY_TYPE_DES, 0x90,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, BYTES_TO_BITS(DES_8B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
PSA_KEY_LIFETIME_PERSISTENT,
@@ -222,7 +221,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_open_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES, 0x123,
+{"Test psa_open_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES, 0x123,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR, PSA_KEY_LIFETIME_PERSISTENT,
@@ -231,7 +230,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_open_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES, 0x456,
+{"Test psa_open_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES, 0x456,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -243,7 +242,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_open_key with EC Public key\n", 9,
+{"Test psa_open_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1), 0x789,
{0},
65, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY, PSA_KEY_LIFETIME_PERSISTENT,
@@ -252,7 +251,7 @@
#endif
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_open_key with EC keypair\n", 10,
+{"Test psa_open_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1), 0x1234,
{0},
28, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY, PSA_KEY_LIFETIME_PERSISTENT,
@@ -263,7 +262,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES
-{"Test psa_open_key with volatile key\n", 11, PSA_KEY_TYPE_AES,
+{"Test psa_open_key with volatile key\n", PSA_KEY_TYPE_AES,
0x5678,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9, 0x05, 0xC9, 0xED,
diff --git a/api-tests/dev_apis/crypto/test_c051/test_c051.c b/api-tests/dev_apis/crypto/test_c051/test_c051.c
index d3e2215..f2403e4 100644
--- a/api-tests/dev_apis/crypto/test_c051/test_c051.c
+++ b/api-tests/dev_apis/crypto/test_c051/test_c051.c
@@ -20,7 +20,7 @@
#include "test_c051.h"
#include "test_data.h"
-client_test_t test_c051_crypto_list[] = {
+const client_test_t test_c051_crypto_list[] = {
NULL,
psa_close_key_test,
NULL,
@@ -41,6 +41,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_key_attributes_t set_attributes = PSA_KEY_ATTRIBUTES_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -103,15 +104,15 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &set_attributes, key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Close the key handle */
- status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Getting the attributes of the closed key should return error */
- status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
&attributes);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(5));
@@ -135,18 +136,18 @@
TEST_ASSERT_EQUAL(get_key_bits, 0, TEST_CHECKPOINT_NUM(11));
/* Closing an empty key handle should return error */
- status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(12));
if (check1[i].key_lifetime == PSA_KEY_LIFETIME_PERSISTENT)
{
/* Open the key handle and retrieve the data */
status = val->crypto_function(VAL_CRYPTO_OPEN_KEY, check1[i].key_id,
- &check1[i].key_handle);
+ &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(13));
/* Get the attributes of the persistent key and check if it matches the given value */
- status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, check1[i].key_handle,
+ status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
&attributes);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(14));
@@ -172,10 +173,10 @@
/* Reset the key attributes */
val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(21));
- status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_CLOSE_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(22));
}
diff --git a/api-tests/dev_apis/crypto/test_c051/test_c051.h b/api-tests/dev_apis/crypto/test_c051/test_c051.h
index a539ecc..94f0edc 100644
--- a/api-tests/dev_apis/crypto/test_c051/test_c051.h
+++ b/api-tests/dev_apis/crypto/test_c051/test_c051.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c051_crypto_list[];
+extern const client_test_t test_c051_crypto_list[];
int32_t psa_close_key_test(caller_security_t caller);
#endif /* _TEST_C051_CLIENT_TESTS_H_ */
diff --git a/api-tests/dev_apis/crypto/test_c051/test_data.h b/api-tests/dev_apis/crypto/test_c051/test_data.h
index 6792a2a..5e77062 100644
--- a/api-tests/dev_apis/crypto/test_c051/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c051/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[34];
uint32_t key_length;
@@ -161,11 +160,11 @@
0x68, 0x49, 0xf9, 0x7d, 0x10, 0x66, 0xf6, 0x99, 0x77, 0x59, 0x63, 0x7c, 0x7e, 0x38,
0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_AES_128
-{"Test psa_close_key 16 Byte AES\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_close_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9},
AES_16B_KEY_SIZE, 0, PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -175,7 +174,7 @@
#endif
#ifdef ARCH_TEST_AES_192
-{"Test psa_close_key 24 Byte AES\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_close_key 24 Byte AES\n", PSA_KEY_TYPE_AES,
{0x24, 0x13, 0x61, 0x47, 0x61, 0xB8, 0xC8, 0xF0, 0xDF, 0xAB, 0x5A, 0x0E, 0x87,
0x40, 0xAC, 0xA3, 0x90, 0x77, 0x83, 0x52, 0x31, 0x74, 0xF9},
AES_24B_KEY_SIZE, BYTES_TO_BITS(AES_24B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -185,7 +184,7 @@
#endif
#ifdef ARCH_TEST_AES_256
-{"Test psa_close_key 32 Byte AES\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_close_key 32 Byte AES\n", PSA_KEY_TYPE_AES,
{0xEA, 0xD5, 0xE6, 0xC8, 0x51, 0xF9, 0xEC, 0xBB, 0x9B, 0x57, 0x7C, 0xED, 0xD2,
0x4B, 0x82, 0x84, 0x9F, 0x9F, 0xE6, 0x73, 0x21, 0x3D, 0x1A, 0x05, 0xC9, 0xED,
0xDF, 0x25, 0x17, 0x68, 0x86, 0xAE},
@@ -198,14 +197,14 @@
#ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
#ifdef ARCH_TEST_RSA_2048
-{"Test psa_close_key 2048 RSA public key\n", 4, PSA_KEY_TYPE_RSA_PUBLIC_KEY,
+{"Test psa_close_key 2048 RSA public key\n", PSA_KEY_TYPE_RSA_PUBLIC_KEY,
{0},
270, 2048, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
0x78, PSA_KEY_LIFETIME_PERSISTENT,
2048, PSA_SUCCESS
},
-{"Test psa_close_key with RSA 2048 keypair\n", 5, PSA_KEY_TYPE_RSA_KEY_PAIR,
+{"Test psa_close_key with RSA 2048 keypair\n", PSA_KEY_TYPE_RSA_KEY_PAIR,
{0},
1193, 2048, PSA_KEY_USAGE_EXPORT, PSA_ALG_RSA_PKCS1V15_SIGN_RAW,
0x89, PSA_KEY_LIFETIME_PERSISTENT,
@@ -216,7 +215,7 @@
#ifdef ARCH_TEST_CIPER_MODE_CTR
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_close_key with DES 64 bit key\n", 6, PSA_KEY_TYPE_DES,
+{"Test psa_close_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
DES_8B_KEY_SIZE, BYTES_TO_BITS(DES_8B_KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
0xAB, PSA_KEY_LIFETIME_PERSISTENT,
@@ -225,7 +224,7 @@
#endif
#ifdef ARCH_TEST_DES_2KEY
-{"Test psa_close_key with Triple DES 2-Key\n", 7, PSA_KEY_TYPE_DES,
+{"Test psa_close_key with Triple DES 2-Key\n", PSA_KEY_TYPE_DES,
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
DES3_2KEY_SIZE, BYTES_TO_BITS(DES3_2KEY_SIZE), PSA_KEY_USAGE_EXPORT, PSA_ALG_CTR,
@@ -235,7 +234,7 @@
#endif
#ifdef ARCH_TEST_DES_3KEY
-{"Test psa_close_key with Triple DES 3-Key\n", 8, PSA_KEY_TYPE_DES,
+{"Test psa_close_key with Triple DES 3-Key\n", PSA_KEY_TYPE_DES,
{0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
0xF1, 0xE0, 0xD3, 0xC2, 0xB5, 0xA4, 0x97, 0x86,
0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10},
@@ -248,7 +247,7 @@
#ifdef ARCH_TEST_ECDSA
#ifdef ARCH_TEST_ECC_CURVE_SECP256R1
-{"Test psa_close_key with EC Public key\n", 9,
+{"Test psa_close_key with EC Public key\n",
PSA_KEY_TYPE_ECC_PUBLIC_KEY(PSA_ECC_CURVE_SECP256R1),
{0},
65, 256, PSA_KEY_USAGE_EXPORT, PSA_ALG_ECDSA_ANY,
@@ -260,7 +259,7 @@
#ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
#ifdef ARCH_TEST_ECC_CURVE_SECP224R1
-{"Test psa_close_key with EC keypair\n", 10,
+{"Test psa_close_key with EC keypair\n",
PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_CURVE_SECP224R1),
{0},
28, 224, PSA_KEY_USAGE_EXPORT, PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION,
diff --git a/api-tests/dev_apis/crypto/test_c052/test_c052.c b/api-tests/dev_apis/crypto/test_c052/test_c052.c
index 61cd7bb..8e4dffc 100644
--- a/api-tests/dev_apis/crypto/test_c052/test_c052.c
+++ b/api-tests/dev_apis/crypto/test_c052/test_c052.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c052.h"
#include "test_data.h"
-client_test_t test_c052_crypto_list[] = {
+const client_test_t test_c052_crypto_list[] = {
NULL,
psa_aead_encrypt_setup_test,
NULL,
@@ -34,6 +34,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,21 +62,21 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Setting up aead on destroyed key handle should return an error */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(6));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c052/test_c052.h b/api-tests/dev_apis/crypto/test_c052/test_c052.h
index 65e5c5f..a9fc662 100644
--- a/api-tests/dev_apis/crypto/test_c052/test_c052.h
+++ b/api-tests/dev_apis/crypto/test_c052/test_c052.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c052_crypto_list[];
+extern const client_test_t test_c052_crypto_list[];
int32_t psa_aead_encrypt_setup_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c052/test_data.h b/api-tests/dev_apis/crypto/test_c052/test_data.h
index efe55f5..74812c9 100644
--- a/api-tests/dev_apis/crypto/test_c052/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c052/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -29,17 +28,17 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_encrypt_setup - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt_setup - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
PSA_SUCCESS
},
-{"Test psa_aead_encrypt_setup - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt_setup - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -50,7 +49,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_encrypt_setup - GCM - 16B AES - 12B Nounce & 12B addi data\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt_setup - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
PSA_SUCCESS
@@ -60,7 +59,7 @@
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_aead_encrypt_setup - DES Key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_aead_encrypt_setup - DES Key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
PSA_ERROR_NOT_SUPPORTED
@@ -70,7 +69,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CIPER_MODE_CFB
-{"Test psa_aead_encrypt_setup - Unsupported Algorithm\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt_setup - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CFB, PSA_ALG_CFB,
PSA_ERROR_NOT_SUPPORTED
@@ -78,7 +77,7 @@
#endif
#ifdef ARCH_TEST_GCM
-{"Test psa_aead_encrypt_setup - Invalid key usage\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_encrypt_setup - Invalid key usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
PSA_ERROR_NOT_PERMITTED
diff --git a/api-tests/dev_apis/crypto/test_c053/test_c053.c b/api-tests/dev_apis/crypto/test_c053/test_c053.c
index 8b21504..b70afb5 100644
--- a/api-tests/dev_apis/crypto/test_c053/test_c053.c
+++ b/api-tests/dev_apis/crypto/test_c053/test_c053.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c053.h"
#include "test_data.h"
-client_test_t test_c053_crypto_list[] = {
+const client_test_t test_c053_crypto_list[] = {
NULL,
psa_aead_decrypt_setup_test,
NULL,
@@ -34,6 +34,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,21 +62,21 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated decryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Setting up aead on destroyed key handle should return an error */
status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(6));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c053/test_c053.h b/api-tests/dev_apis/crypto/test_c053/test_c053.h
index 0f3dde7..272ae24 100644
--- a/api-tests/dev_apis/crypto/test_c053/test_c053.h
+++ b/api-tests/dev_apis/crypto/test_c053/test_c053.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c053_crypto_list[];
+extern const client_test_t test_c053_crypto_list[];
int32_t psa_aead_decrypt_setup_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c053/test_data.h b/api-tests/dev_apis/crypto/test_c053/test_data.h
index 1dd20fa..995a146 100644
--- a/api-tests/dev_apis/crypto/test_c053/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c053/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -29,17 +28,17 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_decrypt_setup - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt_setup - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
PSA_SUCCESS
},
-{"Test psa_aead_decrypt_setup - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt_setup - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -50,7 +49,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_decrypt_setup - GCM - 16B AES - 12B Nounce & 12B addi data\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt_setup - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
PSA_SUCCESS
@@ -60,7 +59,7 @@
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_DES_1KEY
-{"Test psa_aead_decrypt_setup - DES Key\n", 4, PSA_KEY_TYPE_DES,
+{"Test psa_aead_decrypt_setup - DES Key\n", PSA_KEY_TYPE_DES,
{0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29}, DES_8B_KEY_SIZE,
PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
PSA_ERROR_NOT_SUPPORTED
@@ -70,7 +69,7 @@
#ifdef ARCH_TEST_AES_128
#ifdef ARCH_TEST_CIPER_MODE_CFB
-{"Test psa_aead_decrypt_setup - Unsupported Algorithm\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt_setup - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CFB, PSA_ALG_CFB,
PSA_ERROR_NOT_SUPPORTED
@@ -78,7 +77,7 @@
#endif
#ifdef ARCH_TEST_GCM
-{"Test psa_aead_decrypt_setup - Invalid key usage\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_decrypt_setup - Invalid key usage\n", PSA_KEY_TYPE_AES,
{0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
PSA_ERROR_NOT_PERMITTED
diff --git a/api-tests/dev_apis/crypto/test_c054/test_c054.c b/api-tests/dev_apis/crypto/test_c054/test_c054.c
index 553e073..6271299 100644
--- a/api-tests/dev_apis/crypto/test_c054/test_c054.c
+++ b/api-tests/dev_apis/crypto/test_c054/test_c054.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c054.h"
#include "test_data.h"
-client_test_t test_c054_crypto_list[] = {
+const client_test_t test_c054_crypto_list[] = {
NULL,
psa_aead_generate_nonce_test,
NULL,
@@ -36,6 +36,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Generate a random nonce for an authenticated encryption operation */
@@ -83,7 +84,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Reset the key attributes */
@@ -110,7 +111,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c054/test_c054.h b/api-tests/dev_apis/crypto/test_c054/test_c054.h
index 6560716..ad33076 100644
--- a/api-tests/dev_apis/crypto/test_c054/test_c054.h
+++ b/api-tests/dev_apis/crypto/test_c054/test_c054.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c054_crypto_list[];
+extern const client_test_t test_c054_crypto_list[];
int32_t psa_aead_generate_nonce_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c054/test_data.h b/api-tests/dev_apis/crypto/test_c054/test_data.h
index 7fbeb40..e1402c7 100644
--- a/api-tests/dev_apis/crypto/test_c054/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c054/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -30,24 +29,24 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_generate_nonce - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_generate_nonce - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM, SIZE_32B,
PSA_SUCCESS
},
-{"Test psa_aead_generate_nonce - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_generate_nonce - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, SIZE_32B,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
PSA_SUCCESS
},
-{"Test psa_aead_generate_nonce - Small buffer size\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_generate_nonce - Small buffer size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM, 8,
@@ -58,7 +57,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_generate_nonce - GCM - 16B AES - 12B Nounce & 12B addi data\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_generate_nonce - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM, SIZE_32B,
PSA_SUCCESS
diff --git a/api-tests/dev_apis/crypto/test_c055/test_c055.c b/api-tests/dev_apis/crypto/test_c055/test_c055.c
index 741fad1..0433e16 100644
--- a/api-tests/dev_apis/crypto/test_c055/test_c055.c
+++ b/api-tests/dev_apis/crypto/test_c055/test_c055.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c055.h"
#include "test_data.h"
-client_test_t test_c055_crypto_list[] = {
+const client_test_t test_c055_crypto_list[] = {
NULL,
psa_aead_set_nonce_test,
NULL,
@@ -34,6 +34,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,12 +62,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -81,7 +82,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
/* Reset the key attributes */
@@ -99,7 +100,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c055/test_c055.h b/api-tests/dev_apis/crypto/test_c055/test_c055.h
index 6e4ae3f..80bd725 100644
--- a/api-tests/dev_apis/crypto/test_c055/test_c055.h
+++ b/api-tests/dev_apis/crypto/test_c055/test_c055.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c055_crypto_list[];
+extern const client_test_t test_c055_crypto_list[];
int32_t psa_aead_set_nonce_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c055/test_data.h b/api-tests/dev_apis/crypto/test_c055/test_data.h
index 458e70b..12e2185 100644
--- a/api-tests/dev_apis/crypto/test_c055/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c055/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -31,10 +30,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_set_nonce - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_nonce - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -43,7 +42,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_set_nonce - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_nonce - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -52,7 +51,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_set_nonce - Small nounce size\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_nonce - Small nounce size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -60,7 +59,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_set_nonce - Large nonce size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_nonce - Large nonce size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -74,7 +73,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_set_nonce - GCM - 16B AES - 12B Nounce & 12B addi data\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_nonce - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
diff --git a/api-tests/dev_apis/crypto/test_c056/test_c056.c b/api-tests/dev_apis/crypto/test_c056/test_c056.c
index 5b9f0c7..6585851 100644
--- a/api-tests/dev_apis/crypto/test_c056/test_c056.c
+++ b/api-tests/dev_apis/crypto/test_c056/test_c056.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c056.h"
#include "test_data.h"
-client_test_t test_c056_crypto_list[] = {
+const client_test_t test_c056_crypto_list[] = {
NULL,
psa_aead_set_lengths_test,
NULL,
@@ -34,6 +34,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,12 +62,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -91,7 +92,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
/* Reset the key attributes */
@@ -104,7 +105,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c056/test_c056.h b/api-tests/dev_apis/crypto/test_c056/test_c056.h
index ba639f1..59bb799 100644
--- a/api-tests/dev_apis/crypto/test_c056/test_c056.h
+++ b/api-tests/dev_apis/crypto/test_c056/test_c056.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c056_crypto_list[];
+extern const client_test_t test_c056_crypto_list[];
int32_t psa_aead_set_lengths_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c056/test_data.h b/api-tests/dev_apis/crypto/test_c056/test_data.h
index 8022ea9..f891b7e 100644
--- a/api-tests/dev_apis/crypto/test_c056/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c056/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -33,10 +32,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_set_lengths - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -45,7 +44,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_set_lengths - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -54,7 +53,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_set_lengths - Zero ad size\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - Zero ad size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -63,7 +62,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_set_lengths - Zero plaintext size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - Zero plaintext size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -72,7 +71,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_set_lengths - Invalid lengths\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - Invalid lengths\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -85,7 +84,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_set_lengths - Vey large lengths\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_set_lengths - Vey large lengths\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
diff --git a/api-tests/dev_apis/crypto/test_c057/test_c057.c b/api-tests/dev_apis/crypto/test_c057/test_c057.c
index 95dd0f4..ce0745c 100644
--- a/api-tests/dev_apis/crypto/test_c057/test_c057.c
+++ b/api-tests/dev_apis/crypto/test_c057/test_c057.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c057.h"
#include "test_data.h"
-client_test_t test_c057_crypto_list[] = {
+const client_test_t test_c057_crypto_list[] = {
NULL,
psa_aead_update_ad_test,
NULL,
@@ -34,6 +34,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -61,12 +62,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -96,7 +97,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(9));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Reset the key attributes */
@@ -109,7 +110,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c057/test_c057.h b/api-tests/dev_apis/crypto/test_c057/test_c057.h
index fcbfd89..900328d 100644
--- a/api-tests/dev_apis/crypto/test_c057/test_c057.h
+++ b/api-tests/dev_apis/crypto/test_c057/test_c057.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c057_crypto_list[];
+extern const client_test_t test_c057_crypto_list[];
int32_t psa_aead_update_ad_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c057/test_data.h b/api-tests/dev_apis/crypto/test_c057/test_data.h
index 68bb98c..9ead790 100644
--- a/api-tests/dev_apis/crypto/test_c057/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c057/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -34,10 +33,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_update_ad - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -47,7 +46,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_update_ad - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -57,7 +56,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_update_ad - Zero ad size\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - Zero ad size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -67,7 +66,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_update_ad - Zero plaintext size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - Zero plaintext size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -77,7 +76,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_update_ad - Invalid lengths\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - Invalid lengths\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -91,7 +90,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_update_ad - Vey large lengths\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update_ad - Vey large lengths\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x10},
diff --git a/api-tests/dev_apis/crypto/test_c058/test_c058.c b/api-tests/dev_apis/crypto/test_c058/test_c058.c
index 5b6db96..2992e62 100644
--- a/api-tests/dev_apis/crypto/test_c058/test_c058.c
+++ b/api-tests/dev_apis/crypto/test_c058/test_c058.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c058.h"
#include "test_data.h"
-client_test_t test_c058_crypto_list[] = {
+const client_test_t test_c058_crypto_list[] = {
NULL,
psa_aead_update_test,
NULL,
@@ -36,6 +36,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -105,7 +106,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(10));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Reset the key attributes */
@@ -122,7 +123,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(14));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(15));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c058/test_c058.h b/api-tests/dev_apis/crypto/test_c058/test_c058.h
index 7212975..b2273cd 100644
--- a/api-tests/dev_apis/crypto/test_c058/test_c058.h
+++ b/api-tests/dev_apis/crypto/test_c058/test_c058.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c058_crypto_list[];
+extern const client_test_t test_c058_crypto_list[];
int32_t psa_aead_update_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c058/test_data.h b/api-tests/dev_apis/crypto/test_c058/test_data.h
index bdae86a..20a4944 100644
--- a/api-tests/dev_apis/crypto/test_c058/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c058/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -39,10 +38,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_update - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -58,7 +57,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_update - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -73,7 +72,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_update - Zero plaintext size\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - Zero plaintext size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -84,7 +83,7 @@
PSA_ERROR_INVALID_ARGUMENT
},
-{"Test psa_aead_update - Small buffer size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - Small buffer size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -96,7 +95,7 @@
PSA_ERROR_BUFFER_TOO_SMALL
},
-{"Test psa_aead_update - Input length overflows plaintext length\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - Input length overflows plaintext length\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -112,7 +111,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_update - GCM - 16B AES - 12B Nounce & 12B addi data\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_update - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x45, 0x00, 0x00, 0x1c, 0x42, 0xa2, 0x00, 0x00, 0x80, 0x01, 0x44, 0x1f, 0x40,
diff --git a/api-tests/dev_apis/crypto/test_c059/test_c059.c b/api-tests/dev_apis/crypto/test_c059/test_c059.c
index 86f3fb7..ee1cd08 100644
--- a/api-tests/dev_apis/crypto/test_c059/test_c059.c
+++ b/api-tests/dev_apis/crypto/test_c059/test_c059.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c059.h"
#include "test_data.h"
-client_test_t test_c059_crypto_list[] = {
+const client_test_t test_c059_crypto_list[] = {
NULL,
psa_aead_finish_test,
NULL,
@@ -36,6 +36,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -109,7 +110,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Reset the key attributes */
@@ -128,7 +129,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(17));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(18));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c059/test_c059.h b/api-tests/dev_apis/crypto/test_c059/test_c059.h
index ed18925..6c8dd91 100644
--- a/api-tests/dev_apis/crypto/test_c059/test_c059.h
+++ b/api-tests/dev_apis/crypto/test_c059/test_c059.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c059_crypto_list[];
+extern const client_test_t test_c059_crypto_list[];
int32_t psa_aead_finish_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c059/test_data.h b/api-tests/dev_apis/crypto/test_c059/test_data.h
index 9ea4b0e..a7b698f 100644
--- a/api-tests/dev_apis/crypto/test_c059/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c059/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -42,10 +41,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_finish - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_finish - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -61,7 +60,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_finish - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_finish - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -76,7 +75,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_finish - Small buffer size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_finish - Small buffer size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -88,7 +87,7 @@
PSA_ERROR_BUFFER_TOO_SMALL
},
-{"Test psa_aead_finish - Input length is less than plaintext length\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_finish - Input length is less than plaintext length\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -104,7 +103,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_finish - GCM - 16B AES - 12B Nounce & 12B addi data\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_finish - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x45, 0x00, 0x00, 0x1c, 0x42, 0xa2, 0x00, 0x00, 0x80, 0x01, 0x44, 0x1f, 0x40,
diff --git a/api-tests/dev_apis/crypto/test_c060/test_c060.c b/api-tests/dev_apis/crypto/test_c060/test_c060.c
index e924a9e..44739ec 100644
--- a/api-tests/dev_apis/crypto/test_c060/test_c060.c
+++ b/api-tests/dev_apis/crypto/test_c060/test_c060.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c060.h"
#include "test_data.h"
-client_test_t test_c060_crypto_list[] = {
+const client_test_t test_c060_crypto_list[] = {
NULL,
psa_aead_abort_test,
psa_aead_abort_init_test,
@@ -35,6 +35,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -62,16 +63,16 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_ENCRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
/* Reset the key attributes and check if psa_import_key fails */
diff --git a/api-tests/dev_apis/crypto/test_c060/test_c060.h b/api-tests/dev_apis/crypto/test_c060/test_c060.h
index 334d180..5d724b6 100644
--- a/api-tests/dev_apis/crypto/test_c060/test_c060.h
+++ b/api-tests/dev_apis/crypto/test_c060/test_c060.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c060_crypto_list[];
+extern const client_test_t test_c060_crypto_list[];
int32_t psa_aead_abort_test(caller_security_t caller);
int32_t psa_aead_abort_init_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c060/test_data.h b/api-tests/dev_apis/crypto/test_c060/test_data.h
index fcdef1f..2618c53 100644
--- a/api-tests/dev_apis/crypto/test_c060/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c060/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -29,17 +28,17 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_abort - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_abort - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
PSA_SUCCESS
},
-{"Test psa_aead_abort - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_abort - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -50,7 +49,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_abort - GCM - 16B AES - 12B Nounce & 12B addi data\n", 3, PSA_KEY_TYPE_AES,
+{"Test psa_aead_abort - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
PSA_SUCCESS
diff --git a/api-tests/dev_apis/crypto/test_c061/test_c061.c b/api-tests/dev_apis/crypto/test_c061/test_c061.c
index 4b6bec9..5adfea0 100644
--- a/api-tests/dev_apis/crypto/test_c061/test_c061.c
+++ b/api-tests/dev_apis/crypto/test_c061/test_c061.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,7 @@
#include "test_c061.h"
#include "test_data.h"
-client_test_t test_c061_crypto_list[] = {
+const client_test_t test_c061_crypto_list[] = {
NULL,
psa_aead_verify_test,
NULL,
@@ -36,6 +36,7 @@
int num_checks = sizeof(check1)/sizeof(check1[0]);
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_aead_operation_t operation = PSA_AEAD_OPERATION_INIT;
+ psa_key_handle_t key_handle;
if (num_checks == 0)
{
@@ -63,12 +64,12 @@
/* Import the key data into the key slot */
status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, check1[i].key_data,
- check1[i].key_length, &check1[i].key_handle);
+ check1[i].key_length, &key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
/* Set the key for a multipart authenticated encryption operation */
status = val->crypto_function(VAL_CRYPTO_AEAD_DECRYPT_SETUP, &operation,
- check1[i].key_handle, check1[i].alg);
+ key_handle, check1[i].alg);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
/* Set the nonce for an authenticated encryption operation */
@@ -109,7 +110,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(11));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(12));
/* Reset the key attributes */
@@ -128,7 +129,7 @@
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(16));
/* Destroy the key */
- status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, check1[i].key_handle);
+ status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(17));
/* Reset the key attributes */
diff --git a/api-tests/dev_apis/crypto/test_c061/test_c061.h b/api-tests/dev_apis/crypto/test_c061/test_c061.h
index 9ce0ed2..b9d67e9 100644
--- a/api-tests/dev_apis/crypto/test_c061/test_c061.h
+++ b/api-tests/dev_apis/crypto/test_c061/test_c061.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,7 +24,7 @@
extern val_api_t *val;
extern psa_api_t *psa;
-extern client_test_t test_c061_crypto_list[];
+extern const client_test_t test_c061_crypto_list[];
int32_t psa_aead_verify_test(caller_security_t caller);
diff --git a/api-tests/dev_apis/crypto/test_c061/test_data.h b/api-tests/dev_apis/crypto/test_c061/test_data.h
index af8e261..a6d0f5c 100644
--- a/api-tests/dev_apis/crypto/test_c061/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c061/test_data.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,7 +19,6 @@
typedef struct {
char test_desc[75];
- psa_key_handle_t key_handle;
psa_key_type_t key_type;
uint8_t key_data[32];
uint32_t key_length;
@@ -42,10 +41,10 @@
psa_status_t expected_status;
} test_data;
-static test_data check1[] = {
+static const test_data check1[] = {
#ifdef ARCH_TEST_CCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_verify - AES-CCM\n", 1, PSA_KEY_TYPE_AES,
+{"Test psa_aead_verify - AES-CCM\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -61,7 +60,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_verify - AES-CCM 24 bytes Tag length = 4\n", 2, PSA_KEY_TYPE_AES,
+{"Test psa_aead_verify - AES-CCM 24 bytes Tag length = 4\n", PSA_KEY_TYPE_AES,
{0x41, 0x89, 0x35, 0x1B, 0x5C, 0xAE, 0xA3, 0x75, 0xA0, 0x29, 0x9E, 0x81, 0xC6,
0x21, 0xBF, 0x43}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM,
PSA_ALG_AEAD_WITH_TAG_LENGTH(PSA_ALG_CCM, 4),
@@ -76,7 +75,7 @@
PSA_SUCCESS
},
-{"Test psa_aead_verify - Small buffer size\n", 4, PSA_KEY_TYPE_AES,
+{"Test psa_aead_verify - Small buffer size\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -88,7 +87,7 @@
PSA_ERROR_BUFFER_TOO_SMALL
},
-{"Test psa_aead_verify - Input length is less than plaintext length\n", 5, PSA_KEY_TYPE_AES,
+{"Test psa_aead_verify - Input length is less than plaintext length\n", PSA_KEY_TYPE_AES,
{0xD7, 0x82, 0x8D, 0x13, 0xB2, 0xB0, 0xBD, 0xC3, 0x25, 0xA7, 0x62, 0x36, 0xDF,
0x93, 0xCC, 0x6B},
AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CCM, PSA_ALG_CCM,
@@ -104,7 +103,7 @@
#ifdef ARCH_TEST_GCM
#ifdef ARCH_TEST_AES_128
-{"Test psa_aead_verify - GCM - 16B AES - 12B Nounce & 12B addi data\n", 6, PSA_KEY_TYPE_AES,
+{"Test psa_aead_verify - GCM - 16B AES - 12B Nounce & 12B addi data\n", PSA_KEY_TYPE_AES,
{0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49, 0x19, 0x88, 0xd0, 0xc3, 0x60,
0x7e, 0xae, 0x1f}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_GCM, PSA_ALG_GCM,
{0x45, 0x00, 0x00, 0x1c, 0x42, 0xa2, 0x00, 0x00, 0x80, 0x01, 0x44, 0x1f, 0x40,