Skip to content

OP TEE SPMC v4.2 test results

Imre Kis edited this page Apr 10, 2024 · 1 revision

Overview

This page is to capture the test results for OP-TEE SPMC v4.2.0

The tests were ran using the following set of components:

<?xml version="1.0" encoding="UTF-8"?>
	<manifest>
	  <remote fetch="https://git.gitlab.arm.com" name="arm-gitlab"/>
	  <remote fetch="https://github.com" name="github"/>
	  <remote fetch="https://git.kernel.org" name="kernel-org"/>
	  <remote fetch="https://git.savannah.gnu.org/git" name="savannah"/>
	  <remote fetch="https://git.trustedfirmware.org" name="tfo"/>


	  <default remote="github" revision="refs/tags/4.2.0-rc1"/>

	  <project name="Mbed-TLS/mbedtls.git" path="mbedtls" revision="refs/tags/mbedtls-3.4.0"/>
	  <project groups="local::v323" name="OP-TEE/build.git" path="build">
	    <linkfile dest="build/Makefile" src="fvp-psa-sp.mk"/>
	  </project>
	  <project name="OP-TEE/optee_client.git" path="optee_client"/>
	  <project name="OP-TEE/optee_os.git" path="optee_os"/>
	  <project name="OP-TEE/optee_test.git" path="optee_test"/>
	  <project clone-depth="1" name="TF-A/trusted-firmware-a.git" path="trusted-firmware-a" remote="tfo" revision="refs/tags/v2.9"/>
	  <project name="TS/trusted-services.git" path="trusted-services" remote="tfo" revision="39a5bc7ef1ec8fd7309e2daedeb8df80c2290455"/>
	  <project clone-depth="1" name="buildroot/buildroot.git" path="buildroot" revision="refs/tags/2023.11.1"/>
	  <project clone-depth="1" name="grub.git" path="grub" remote="savannah" revision="refs/tags/grub-2.02"/>
	  <project name="linaro-swg/optee_examples.git" path="optee_examples"/>
	  <project clone-depth="1" name="linux-arm/linux-trusted-services.git" path="linux-arm-ffa-user" remote="arm-gitlab" revision="refs/tags/debugfs-v5.0.1"/>
	  <project clone-depth="1" name="linux-arm/linux-trusted-services.git" path="linux-arm-ffa-tee" remote="arm-gitlab" revision="refs/tags/tee-v2.0.0"/>
	  <project clone-depth="1" name="pub/scm/linux/kernel/git/stable/linux.git" path="linux" remote="kernel-org" revision="refs/tags/v6.1.34"/>
	  <project name="tianocore/edk2-platforms.git" path="edk2-platforms" revision="02daa58c21f89628b4d8c76f95f3a554289149bc"/>
	  <project name="tianocore/edk2.git" path="edk2" revision="dd4cae4d82c7477273f3da455084844db5cca0c0"/>
	</manifest>

Details

Config 1: optee-spmc-test

Build command

MEASURED_BOOT=n SPMC_TESTS=y TS_SMM_GATEWAY=n TS_UEFI_TESTS=n SP_PACKAGING_METHOD=embedded DEFAULT_SP_CONFIG=default-opteesp;

Setup steps after boot

/mnt/host/out/linux-arm-ffa-user/load_module.sh

Test results

# xtest -t ffa_spmc
Run test suite with level=0

TEE test application started over default TEE instance
######################################################
#
# ffa_spmc
#
######################################################

* ffa_spmc_1001 Test FF-A communication
o ffa_spmc_1001.1 SP1 comms check
  ffa_spmc_1001.1 OK
o ffa_spmc_1001.2 Sp2 comms check
  ffa_spmc_1001.2 OK
o ffa_spmc_1001.3 SP to SP messaging check
  ffa_spmc_1001.3 OK
  ffa_spmc_1001 OK

* ffa_spmc_1002 Test FF-A memory: share memory from Normal World to SP
o ffa_spmc_1002.1 Test memory set-up
  ffa_spmc_1002.1 OK
o ffa_spmc_1002.2 Test retrieve memory second time
  ffa_spmc_1002.2 OK
o ffa_spmc_1002.3 Test accessing memory
  ffa_spmc_1002.3 OK
o ffa_spmc_1002.4 Test relinquish memory
  ffa_spmc_1002.4 OK
o ffa_spmc_1002.5 Test incorrect reclaim
  ffa_spmc_1002.5 OK
o ffa_spmc_1002.6 Test relinquish memory second time
  ffa_spmc_1002.6 OK
o ffa_spmc_1002.7 Test correct reclaim
  ffa_spmc_1002.7 OK
o ffa_spmc_1002.8 Test retrieve invalid memory region
  ffa_spmc_1002.8 OK
  ffa_spmc_1002 OK

* ffa_spmc_1003 Test FF-A memory: SP to SP
  ffa_spmc_1003 OK

* ffa_spmc_1004 Test FF-A memory: Access and flags
o ffa_spmc_1004.1 Test sharing with exc access
  ffa_spmc_1004.1 OK
o ffa_spmc_1004.2 Test sharing with incorrect access
  ffa_spmc_1004.2 OK
  ffa_spmc_1004 OK
+-----------------------------------------------------
Result of testsuite ffa_spmc:
ffa_spmc_1001 OK
ffa_spmc_1002 OK
ffa_spmc_1003 OK
ffa_spmc_1004 OK
+-----------------------------------------------------
39 subtests of which 0 failed
4 test cases of which 0 failed
0 test cases were skipped
TEE test application done!

Config 2: psa-ts-embedded

Build command

MEASURED_BOOT=y SPMC_TESTS=n TS_SMM_GATEWAY=n TS_UEFI_TESTS=n TS_FW_UPDATE=y SP_PACKAGING_METHOD=embedded DEFAULT_SP_CONFIG=default-opteesp SP_BLOCK_STORAGE_CONFIG=default-sp SP_PSA_ITS_CONFIG=shared-flash-opteesp SP_PSA_PS_CONFIG=shared-flash-opteesp;

Setup steps after boot

/mnt/host/out/linux-arm-ffa-tee/load_module.sh

Test results

ts-service-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/ts-service-test -v
TEST(FwuServiceTests, checkMetadataAccess) - 14485 ms
TEST(FwuServiceTests, checkImgDirAccess) - 11136 ms
TEST(PsServiceTests, createAndSetExtended) - 7829 ms
TEST(PsServiceTests, createAndSet) - 73611 ms
TEST(PsServiceTests, storeNewItem) - 73733 ms
TEST(ItsServiceTests, storeNewItem) - 73147 ms
TEST(AttestationProvisioningTests, provisionedIak) - 36225 ms
TEST(AttestationProvisioningTests, selfGeneratedIak) - 62504 ms
TEST(AttestationServiceTests, repeatedOperation) - 7119513 ms
TEST(AttestationServiceTests, invalidChallengeLen)[   13.648203] Arm TSTEE: invoke_func rpc status: -6
call():229 failed to invoke command: 22
 - 11358 ms
TEST(AttestationServiceTests, checkTokenSize) - 80350 ms
TEST(CryptoKeyDerivationServicePackedcTests, deriveAbort) - 11714 ms
TEST(CryptoKeyDerivationServicePackedcTests, hkdfDeriveBytes) - 11673 ms
TEST(CryptoKeyDerivationServicePackedcTests, hkdfDeriveKey) - 11899 ms
TEST(CryptoMacServicePackedcTests, macAbort) - 10557 ms
TEST(CryptoMacServicePackedcTests, signAndVerify) - 37386 ms
TEST(CryptoCipherServicePackedcTests, cipherAbort) - 10259 ms
TEST(CryptoCipherServicePackedcTests, encryptDecryptRoundtrip) - 27101 ms
TEST(CryptoHashServicePackedcTests, hashAbort) - 11616 ms
TEST(CryptoHashServicePackedcTests, hashAndVerify) - 13989 ms
TEST(CryptoHashServicePackedcTests, calculateHash) - 9840 ms
TEST(CryptoServicePackedcTests, verifyPkcs7Signature) - 33913 ms
TEST(CryptoServicePackedcTests, generateRandomNumbers) - 13346 ms
TEST(CryptoServicePackedcTests, asymEncryptDecryptWithSalt) - 1898130 ms
TEST(CryptoServicePackedcTests, asymEncryptDecrypt) - 756786 ms
TEST(CryptoServicePackedcTests, signAndVerifyEat) - 314650 ms
TEST(CryptoServicePackedcTests, signAndVerifyMessage) - 384195 ms
TEST(CryptoServicePackedcTests, signAndVerifyHash) - 382754 ms
TEST(CryptoServicePackedcTests, exportAndImportKeyPair) - 175190 ms
TEST(CryptoServicePackedcTests, exportPublicKey) - 124971 ms
TEST(CryptoServicePackedcTests, purgeKey) - 108519 ms
TEST(CryptoServicePackedcTests, copyKey) - 979063 ms
TEST(CryptoServicePackedcTests, generatePersistentKeys) - 199603 ms
TEST(CryptoServicePackedcTests, generateVolatileKeys) - 59988 ms
TEST(CryptoServiceProtobufTests, generateRandomNumbers) - 14057 ms
TEST(CryptoServiceProtobufTests, asymEncryptDecryptWithSalt) - 927793 ms
TEST(CryptoServiceProtobufTests, asymEncryptDecrypt) - 968700 ms
TEST(CryptoServiceProtobufTests, signAndVerifyMessage) - 382179 ms
TEST(CryptoServiceProtobufTests, signAndVerifyHash) - 381615 ms
TEST(CryptoServiceProtobufTests, exportAndImportKeyPair) - 175124 ms
TEST(CryptoServiceProtobufTests, exportPublicKey) - 126685 ms
TEST(CryptoServiceProtobufTests, generatePersistentKeys) - 200571 ms
TEST(CryptoServiceProtobufTests, generateVolatileKeys) - 60430 ms
TEST(CryptoServiceLimitTests, volatileRsaKeyPairLimit) - 54827178 ms
TEST(CryptoServiceLimitTests, volatileEccKeyPairLimit) - 1962212 ms

OK (45 tests, 45 ran, 775 checks, 0 ignored, 0 filtered out, 73191155 ms)


#echo

psa-crypto-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-crypto-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Crypto Suite
******************************************

TEST: 201 | DESCRIPTION: Testing crypto key management APIs | UT:  psa_crypto_init
[Info] Executing tests from non-secure
[Check 1] Test calling crypto functions before psa_crypto_init
[Check 2] Test psa_crypto_init
[Check 3] Test multiple psa_crypto_init

TEST RESULT: PASSED

******************************************

TEST: 202 | DESCRIPTION: Testing crypto key management APIs | UT: psa_import_key
[Info] Executing tests from non-secure
[Check 1] Test psa_import_key 16 bytes AES
[Check 2] Test psa_import_key 24 bytes AES
[Check 3] Test psa_import_key 32 bytes AES
[Check 4] Test psa_import_key 2048 RSA public key
[Check 5] Test psa_import_key with RSA 2048 keypair
[Check 6] Test psa_import_key with DES 8 bytes key
[Check 7] Test psa_import_key with Triple DES 2-Key
[Check 8] Test psa_import_key with Triple DES 3-Key
[Check 9] Test psa_import_key with EC Public key
[Check 10] Test psa_import_key with EC keypair
[Check 11] Test psa_import_key 16 bytes AES with invalid bits
[Check 12] Test psa_import_key with key data greater than the algorithm size
[Check 13] Test psa_import_key with incorrect key data size
[Check 14] Test psa_import_key with invalid key type value

TEST RESULT: PASSED

******************************************

TEST: 203 | DESCRIPTION: Testing crypto key management APIs | UT: psa_export_key
[Info] Executing tests from non-secure
[Check 1] Test psa_export_key 16 Byte AES
[Check 2] Test psa_export_key 24 Byte AES
[Check 3] Test psa_export_key 32 Byte AES
[Check 4] Test psa_export_key 2048 RSA public key
[Check 5] Test psa_export_key with RSA 2048 keypair
[Check 6] Test psa_export_key with DES 64 bit key
[Check 7] Test psa_export_key with Triple DES 2-Key
[Check 8] Test psa_export_key with Triple DES 3-Key
[Check 9] Test psa_export_key with EC Public key
[Check 10] Test psa_export_key with EC keypair
[Check 11] Test psa_export_key with key policy verify
[Check 12] Test psa_export_key with less buffer size

TEST RESULT: PASSED

******************************************

TEST: 204 | DESCRIPTION: Testing crypto key management APIs | UT: psa_export_public_key
[Info] Executing tests from non-secure
[Check 1] Test psa_export_public_key 16 Byte AES
[Check 2] Test psa_export_public_key 24 Byte AES
[Check 3] Test psa_export_public_key 32 Byte AES
[Check 4] Test psa_export_public_key 2048 RSA public key
[Check 5] Test psa_export_public_key with RSA 2048 keypair
[Check 6] Test psa_export_public_key with DES 64 bit key
[Check 7] Test psa_export_public_key with Triple DES 2-Key
[Check 8] Test psa_export_public_key with Triple DES 3-Key
[Check 9] Test psa_export_public_key with EC Public key
[Check 10] Test psa_export_public_key with EC keypair
[Check 11] Test psa_export_public_key with less buffer size

TEST RESULT: PASSED

******************************************

TEST: 205 | DESCRIPTION: Testing crypto key management APIs | UT: psa_destroy_key
[Info] Executing tests from non-secure
[Check 1] Test psa_destroy_key 16 Byte AES
[Check 2] Test psa_destroy_key 24 Byte AES
[Check 3] Test psa_destroy_key 32 Byte AES
[Check 4] Test psa_destroy_key 2048 RSA public key
[Check 5] Test psa_destroy_key with RSA 2048 keypair
[Check 6] Test psa_destroy_key with DES 64 bit key
[Check 7] Test psa_destroy_key with Triple DES 2-Key
[Check 8] Test psa_destroy_key with Triple DES 3-Key
[Check 9] Test psa_destroy_key with EC Public key
[Check 10] Test psa_destroy_key with EC keypair

TEST RESULT: PASSED

******************************************

TEST: 206 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_compute
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_compute with MD5 algorithm
[Check 2] Test psa_hash_compute with RIPEMD160 algorithm
[Check 3] Test psa_hash_compute with SHA1 algorithm
[Check 4] Test psa_hash_compute with SHA224 algorithm
[Check 5] Test psa_hash_compute with SHA256 algorithm
[Check 6] Test psa_hash_compute with SHA384 algorithm
[Check 7] Test psa_hash_compute with SHA512 algorithm
[Check 8] Test psa_hash_compute with small buffer size
[Check 9] Test psa_hash_compute with invalid algorithm

TEST RESULT: PASSED

******************************************

TEST: 207 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_compare
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_compare with MD5 algorithm
[Check 2] Test psa_hash_compare with RIPEMD160 algorithm
[Check 3] Test psa_hash_compare with SHA1 algorithm
[Check 4] Test psa_hash_compare with SHA224 algorithm
[Check 5] Test psa_hash_compare with SHA256 algorithm
[Check 6] Test psa_hash_compare with SHA384 algorithm
[Check 7] Test psa_hash_compare with SHA512 algorithm
[Check 8] Test psa_hash_compare with incorrect hash
[Check 9] Test psa_hash_compare with incorrect hash length
[Check 10] Test psa_hash_compare with invalid algorithm

TEST RESULT: PASSED

******************************************

TEST: 208 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_setup - ECDH + HKDF-SHA-256
[Check 2] Test psa_key_derivation_setup - ECDH, unknown KDF
[Check 3] Test psa_key_derivation_setup - bad key derivation algorithm
[Check 4] Test psa_key_derivation_setup - Invalid Algorithm

TEST RESULT: PASSED

******************************************

TEST: 209 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_input_bytes
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_input_bytes - Step as Info
[Check 2] Test psa_key_derivation_input_bytes - Step as secret
[Check 3] Test psa_key_derivation_input_bytes - Step as salt
[Check 4] Test psa_key_derivation_input_bytes - Step as label
[Check 5] Test psa_key_derivation_input_bytes - Step as seed
[Check 6] Test psa_key_derivation_input_bytes - Invalid step

TEST RESULT: PASSED

******************************************

TEST: 210 | DESCRIPTION: Testing crypto key attributes APIs | UT: psa_key_attributes_set_get
[Info] Executing tests from non-secure
[Check 1] Test psa_key_attributes_set_get key attributes

TEST RESULT: PASSED

******************************************

TEST: 211 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_setup with MD5 algorithm
[Check 2] Test psa_hash_setup with RIPEMD160 algorithm
[Check 3] Test psa_hash_setup with SHA1 algorithm
[Check 4] Test psa_hash_setup with SHA224 algorithm
[Check 5] Test psa_hash_setup with SHA256 algorithm
[Check 6] Test psa_hash_setup with SHA384 algorithm
[Check 7] Test psa_hash_setup with SHA512 algorithm
[Check 8] Test psa_hash_setup with Invalid hash algorithm
[Check 9] Test psa_hash_setup with Invalid algorithm
[Check 10] Test psa_hash_setup with CTR algorithm

TEST RESULT: PASSED

******************************************

TEST: 212 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_update
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_update with MD5 algorithm
[Check 2] Test psa_hash_update with RIPEMD160 algorithm
[Check 3] Test psa_hash_update with SHA1 algorithm
[Check 4] Test psa_hash_update with SHA224 algorithm
[Check 5] Test psa_hash_update with SHA256 algorithm
[Check 6] Test psa_hash_update with SHA384 algorithm
[Check 7] Test psa_hash_update with SHA512 algorithm
[Check 8] Test psa_hash_update without hash setup
[Check 9] Test psa_hash_update with completed opertaion handle

TEST RESULT: PASSED

******************************************

TEST: 213 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_verify with MD5 algorithm
[Check 2] Test psa_hash_verify with RIPEMD160 algorithm
[Check 3] Test psa_hash_verify with SHA1 algorithm
[Check 4] Test psa_hash_verify with SHA224 algorithm
[Check 5] Test psa_hash_verify with SHA256 algorithm
[Check 6] Test psa_hash_verify with SHA384 algorithm
[Check 7] Test psa_hash_verify with SHA512 algorithm
[Check 8] Test psa_hash_verify with incorrect expected hash
[Check 9] Test psa_hash_verify with incorrect hash length
[Check 10] test psa_hash_verify with inactive & invalid operation handle

TEST RESULT: PASSED

******************************************

TEST: 214 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_finish with MD5 algorithm
[Check 2] Test psa_hash_finish with RIPEMD160 algorithm
[Check 3] Test psa_hash_finish with SHA1 algorithm
[Check 4] Test psa_hash_finish with SHA224 algorithm
[Check 5] Test psa_hash_finish with SHA256 algorithm
[Check 6] Test psa_hash_finish with SHA384 algorithm
[Check 7] Test psa_hash_finish with SHA512 algorithm
[Check 8] Test psa_hash_finish with invalid hash buffer size
[Check 9] test psa_hash_finish with inactive operation handle

TEST RESULT: PASSED

******************************************

TEST: 215 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_abort with MD5 algorithm
[Check 2] Test psa_hash_abort with RIPEMD160 algorithm
[Check 3] Test psa_hash_abort with SHA1 algorithm
[Check 4] Test psa_hash_abort with SHA224 algorithm
[Check 5] Test psa_hash_abort with SHA256 algorithm
[Check 6] Test psa_hash_abort with SHA384 algorithm
[Check 7] Test psa_hash_abort with SHA512 algorithm
[Check 8] Test psa_hash_finish after calling psa_hash_abort

TEST RESULT: PASSED

******************************************

TEST: 216 | DESCRIPTION: Testing crypto generator functions APIs | UT: psa_generate_key
[Info] Executing tests from non-secure
[Check 1] Test psa_generate_key 16 Byte AES
[Check 2] Test psa_generate_key 24 Byte AES
[Check 3] Test psa_generate_key 32 Byte AES
[Check 4] Test psa_generate_key with DES 64 bit key
[Check 5] Test psa_generate_key with Triple DES 2-Key
[Check 6] Test psa_generate_key with Triple DES 3-Key
[Check 7] Test psa_generate_key with RSA 2048 Keypair
[  230.578584] rcu: INFO: rcu_sched self-detected stall on CPU
[  230.578756] rcu: 	0-....: (5249 ticks this GP) idle=09dc/1/0x4000000000000000 softirq=1084/1084 fqs=2419
[  230.579017] 	(t=5250 jiffies g=21 q=10 ncpus=8)
[  230.579190] CPU: 0 PID: 140 Comm: psa-crypto-api- Tainted: G           O       6.1.34 #1
[  230.579396] Hardware name: FVP Base RevC (DT)
[  230.579537] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  230.579711] pc : arm_smccc_1_2_smc+0x34/0x78
[  230.579884] lr : __arm_ffa_fn_smc+0x10/0x20
[  230.580087] sp : ffffffc008e43970
[  230.580216] x29: ffffffc008e43980 x28: ffffff880092a1c0 x27: ffffff88009d7000
[  230.580461] x26: 0000007fd83e8428 x25: 0000000000000000 x24: 0000000084000070
[  230.580707] x23: 0000000084000062 x22: 000000008400006d x21: ffffffc008e43c80
[  230.580955] x20: ffffffc00876b600 x19: ffffffc008e439d0 x18: 0000000000000000
[  230.581186] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[  230.581446] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[  230.581707] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000
[  230.581936] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000
[  230.582183] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[  230.582401] x2 : 0000000000000000 x1 : 0000000080060000 x0 : 0000000084000062
[  230.582683] Call trace:
[  230.582783]  arm_smccc_1_2_smc+0x34/0x78
[  230.582921]  ffa_msg_send_direct_req+0x108/0x1b0
[  230.583095]  ffa_sync_send_receive+0x28/0x34
[  230.583329]  tstee_invoke_func+0xd8/0x1dc [arm_tstee]
[  230.583529]  tee_ioctl+0xdfc/0xf9c
[  230.583738]  __arm64_sys_ioctl+0x3bc/0xc30
[  230.583905]  invoke_syscall.constprop.0+0x5c/0x104
[  230.584083]  do_el0_svc+0x60/0x18c
[  230.584252]  el0_svc+0x38/0xf0
[  230.584396]  el0t_64_sync_handler+0xbc/0x140
[  230.584583]  el0t_64_sync+0x18c/0x190
[Check 8] Test psa_generate_key with ECC KeyPair
[Check 9] Test psa_generate_key with RSA 2048 Public key
[Check 10] Test psa_generate_key with invalid key type
[Check 11] Test psa_generate_key with invalid usage flags

TEST RESULT: PASSED

******************************************

TEST: 217 | DESCRIPTION: Testing crypto generation APIs | UT: psa_generate_random
[Info] Executing tests from non-secure
[Check 1] Test psa_generate_random to get 0 Byte data
[Check 2] Test psa_generate_random to get 16 Byte data
[Check 3] Test psa_generate_random to get 24 Byte data
[Check 4] Test psa_generate_random to get 32 Byte data
[Check 5] Test psa_generate_random to get 64 Byte data
[Check 6] Test psa_generate_random to get 128 Byte data
[Check 7] Test psa_generate_random to get 256 Byte data
[Check 8] Test psa_generate_random to get 512 Byte data
[Check 9] Test psa_generate_random to get 1000 Byte data

TEST RESULT: PASSED

******************************************

TEST: 218 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_input_key
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_input_key 16 Byte Key
[Check 2] Test psa_key_derivation_input_key with invalid usage
[Check 3] Test psa_key_derivation_input_key with step as label
[Check 4] Test psa_key_derivation_input_key with step as info
[Check 5] Test psa_key_derivation_input_key with step as seed
[Check 6] Test psa_key_derivation_input_key with step as salt
[Check 7] Test psa_key_derivation_input_key with key type as AES(not derive)
[Check 8] Test psa_key_derivation_input_key incorrect key algorithm
[Check 9] Test psa_key_derivation_input_key with key type as 2048 RSA public key
[Check 10] Test psa_key_derivation_input_key with key type as RSA 2048 keypair
[Check 11] Test psa_key_derivation_input_key with zero as step
[Check 12] Test psa_cipher_decrypt_setup - Invalid key handle
[Check 13] Test psa_cipher_decrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 219 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_key_agreement
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_key_agreement - ECDH SECP256R1
[Check 2] Test psa_key_derivation_key_agreement - Invalid step
[Check 3] Test psa_key_derivation_key_agreement - ECDH SECP384R1
[Check 4] Test psa_key_derivation_key_agreement - Invalid usage
[Check 5] Test psa_key_derivation_key_agreement - KDF not a key agreement alg
[Check 6] Test psa_key_derivation_key_agreement - Public key of different curve
[Check 7] Test psa_key_derivation_key_agreement - Pub key instead of Prv key
[Check 8] Test psa_key_derivation_key_agreement - Invalid handle
[Check 9] Test psa_key_derivation_key_agreement - Zero as handle

TEST RESULT: PASSED

******************************************

TEST: 220 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_output_bytes
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_output_bytes - HKDF
[Check 2] Test psa_key_derivation_output_bytes - optional salt
[Check 3] Test psa_key_derivation_output_bytes - capacity < output_length
[Check 4] Test psa_key_derivation_output_bytes - missing info
[Check 5] Test psa_key_derivation_output_bytes - missing salt/secret/info
[Check 6] Test psa_key_derivation_output_bytes - TLS12_PRF
[Check 7] Test psa_key_derivation_output_bytes - capacity < output_length
[Check 8] Test psa_key_derivation_output_bytes - missing seed/secret/label

TEST RESULT: PASSED

******************************************

TEST: 221 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_output_key
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_output_key - Key
[Check 2] Test psa_key_derivation_output_key - Info
[Check 3] Test psa_key_derivation_output_key - Salt
[Check 4] Test psa_key_derivation_output_key - Greater Capacity than available
[Check 5] Test psa_key_derivation_output_key - ECC Public key
[Check 6] Test psa_key_derivation_output_key -  ECC keypair (wrong key length)
[Check 7] Test psa_key_derivation_output_key -  RSA Public Key[Check 8] Test psa_key_derivation_output_key -  RSA keypair
[Check 9] Test psa_key_derivation_output_key - Invalid key size

TEST RESULT: PASSED

******************************************

TEST: 222 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_abort

TEST RESULT: PASSED

******************************************

TEST: 223 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_set_get_capacity
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_set_get_capacity - < operation's capacity
[Check 2] Test psa_key_derivation_set_get_capacity - = operation's capacity
[Check 3] Test psa_key_derivation_set_get_capacity - > operation's capacity
[Check 4] Test psa_key_derivation_set_get_capacity - unchanged capacity

TEST RESULT: PASSED

******************************************

TEST: 224 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_encrypt - CCM - AES - 13B nonce & 8B add data
[Check 2] Test psa_aead_encrypt - CCM - AES - 13B nonce & 32B add data
[Check 3] Test psa_aead_encrypt - CCM - AES - 24 bytes Tag length = 4
[Check 4] Test psa_aead_encrypt - CCM - AES - Zero additional data
[Check 5] Test psa_aead_encrypt - CCM - AES - Zero plaintext
[Check 6] Test psa_aead_encrypt - GCM - AES - 12B nonce & 12B add data
[Check 7] Test psa_aead_encrypt - Unsupported algorithm
[Check 8] Test psa_aead_encrypt - Invalid usage flag
[Check 9] Test psa_aead_encrypt - Invalid ciphertext_size
[Check 10] Test psa_aead_encrypt - Invalid nonce
[Check 11] Test psa_aead_encrypt - Invalid tag length 0

TEST RESULT: PASSED

******************************************

TEST: 225 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_decrypt - CCM - AES - 13B nonce & 8B add data
[Check 2] Test psa_aead_decrypt - CCM - AES - 13B nonce & 32B add data
[Check 3] Test psa_aead_decrypt - CCM - AES - 24 bytes Tag length = 4
[Check 4] Test psa_aead_decrypt - CCM - AES - Zero additional data
[Check 5] Test psa_aead_decrypt - CCM - AES - Zero plaintext
[Check 6] Test psa_aead_decrypt - GCM - AES - 12B nonce & 12B add data
[Check 7] Test psa_aead_decrypt - Unsupported algorithm
[Check 8] Test psa_aead_decrypt - Invalid usage flag
[Check 9] Test psa_aead_decrypt - Invalid plaintext_size
[Check 10] Test psa_aead_decrypt - Invalid nonce
[Check 11] Test psa_aead_decrypt - Invalid cihpertext
[Check 12] Test psa_aead_decrypt - Invalid cihpertext_size
[Check 13] Test psa_aead_decrypt - Invalid tag length 0

TEST RESULT: PASSED

******************************************

TEST: 226 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_sign_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_sign_setup - HMAC - SHA256
[Check 2] Test psa_mac_sign_setup - CMAC - AES
[Check 3] Test psa_mac_sign_setup - Incompatible HMAC for CMAC
[Check 4] Test psa_mac_sign_setup - Invalid usage flag
[Check 5] Test psa_mac_sign_setup - Invalid key type
[Check 6] Test psa_mac_sign_setup - Truncated MAC too large
[Check 7] Test psa_mac_sign_setup - Truncated MAC too small
[Check 8] Test psa_mac_sign_setup - Unknown MAC algorithm
[Check 9] Test psa_mac_sign_setup - Bad algorithm (not a MAC algorithm)
[Check 10] Test psa_mac_sign_setup invalid key handle
[Check 11] Test psa_mac_sign_setup zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 227 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_update
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_update - HMAC - SHA256 - 64 Byte
[Check 2] Test psa_mac_update - CMAC - AES - 16 Byte
[Check 3] Test psa_mac_update - HMAC - SHA512 - 32 Byte
[Check 4] Test psa_mac_update - HMAC - SHA512 - Invalid operation state

TEST RESULT: PASSED

******************************************

TEST: 228 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_sign_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_sign_finish  - HMAC - SHA224
[Check 2] Test psa_mac_sign_finish  - HMAC - SHA256
[Check 3] Test psa_mac_sign_finish  - HMAC - SHA512
[Check 4] Test psa_mac_sign_finish  - HMAC - SHA224 - Truncated 8 Byte
[Check 5] Test psa_mac_sign_finish  - HMAC - SHA224 - Small output buffer
[Check 6] Test psa_mac_sign_finish  - HMAC - SHA224 - Invalid operation state
[Check 7] Test psa_mac_sign_finish  - CMAC - AES

TEST RESULT: PASSED

******************************************

TEST: 229 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify_setup - HMAC - SHA256
[Check 2] Test psa_mac_verify_setup - CMAC - AES
[Check 3] Test psa_mac_verify_setup - Incompatible HMAC for CMAC
[Check 4] Test psa_mac_verify_setup - Invalid usage flag
[Check 5] Test psa_mac_verify_setup - Invalid key type
[Check 6] Test psa_mac_verify_setup - Truncated MAC too large
[Check 7] Test psa_mac_verify_setup - Truncated MAC too small
[Check 8] Test psa_mac_verify_setup - Unknown MAC algorithm
[Check 9] Test psa_mac_verify_setup - Bad algorithm (not a MAC algorithm)
[Check 10] Test psa_mac_verify_setup invalid key handle
[Check 11] Test psa_mac_verify_setup zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 230 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify_finish - HMAC - SHA224
[Check 2] Test psa_mac_verify_finish - HMAC - SHA256
[Check 3] Test psa_mac_verify_finish - HMAC - SHA512
[Check 4] Test psa_mac_verify_finish - HMAC - SHA224 - Truncated 8 Byte
[Check 5] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid mac length
[Check 6] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid expected mac
[Check 7] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid operation state
[Check 8] Test psa_mac_verify_finish - CMAC - AES

TEST RESULT: PASSED

******************************************

TEST: 231 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_abort - HMAC - SHA224
[Check 2] Test psa_mac_abort - HMAC - SHA224 - Truncated 8 Byte
[Check 3] Test psa_mac_abort - HMAC - SHA256
[Check 4] Test psa_mac_abort - HMAC - SHA512
[Check 5] Test psa_mac_abort - CMAC - AES
[Check 6] Test psa_mac_sign_finish after calling psa_mac_abort

TEST RESULT: PASSED

******************************************

TEST: 232 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_encrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_encrypt_setup 16 Byte AES
[Check 2] Test psa_cipher_encrypt_setup 24 Byte AES
[Check 3] Test psa_cipher_encrypt_setup 32 Byte AES
[Check 4] Test psa_cipher_encrypt_setup DES 64 bit key
[Check 5] Test psa_cipher_encrypt_setup Triple DES 2-Key
[Check 6] Test psa_cipher_encrypt_setup Triple DES 3-Key
[Check 7] Test psa_cipher_encrypt_setup 16 Byte raw data
[Check 8] Test psa_cipher_encrypt_setup - not a cipher algorithm
[Check 9] Test psa_cipher_encrypt_setup - unknown cipher algorithm
[Check 10] Test psa_cipher_encrypt_setup - incompatible key ARC4
[Check 11] Test psa_cipher_encrypt_setup - incorrect usage
[Check 12] Test psa_cipher_encrypt_setup - RSA public key
[Check 13] Test psa_cipher_encrypt_setup - RSA keypair
[Check 14] Test psa_cipher_encrypt_setup - EC Public key
[Check 15] Test psa_cipher_encrypt_setup - EC keypair
[Check 16] Test psa_cipher_encrypt_setup - Invalid key handle
[Check 17] Test psa_cipher_encrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 233 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_decrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_decrypt_setup 16 Byte AES
[Check 2] Test psa_cipher_decrypt_setup 24 Byte AES
[Check 3] Test psa_cipher_decrypt_setup 32 Byte AES
[Check 4] Test psa_cipher_decrypt_setup DES 64 bit key
[Check 5] Test psa_cipher_decrypt_setup Triple DES 2-Key
[Check 6] Test psa_cipher_decrypt_setup Triple DES 3-Key
[Check 7] Test psa_cipher_decrypt_setup 16 Byte raw data
[Check 8] Test psa_cipher_decrypt_setup - not a cipher algorithm
[Check 9] Test psa_cipher_decrypt_setup - unknown cipher algorithm
[Check 10] Test psa_cipher_decrypt_setup - incompatible key ARC4
[Check 11] Test psa_cipher_decrypt_setup - incorrect usage
[Check 12] Test psa_cipher_decrypt_setup - RSA public key
[Check 13] Test psa_cipher_decrypt_setup - RSA keypair
[Check 14] Test psa_cipher_decrypt_setup - EC Public key
[Check 15] Test psa_cipher_decrypt_setup - EC keypair
[Check 16] Test psa_cipher_decrypt_setup - Invalid key handle
[Check 17] Test psa_cipher_decrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 234 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_generate_iv
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_generate_iv 16 Byte AES
[Check 2] Test psa_cipher_generate_iv 24 Byte AES
[Check 3] Test psa_cipher_generate_iv 32 Byte AES
[Check 4] Test psa_cipher_generate_iv DES 64 bit key
[Check 5] Test psa_cipher_generate_iv DES 2-Key
[Check 6] Test psa_cipher_generate_iv DES 3-Key
[Check 7] Test psa_cipher_generate_iv AES - small iv buffer
[Check 8] Test psa_cipher_generate_iv DES - small iv buffer

TEST RESULT: PASSED

******************************************

TEST: 235 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_set_iv
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_set_iv 16 Byte AES
[Check 2] Test psa_cipher_set_iv 24 Byte AES
[Check 3] Test psa_cipher_set_iv 32 Byte AES
[Check 4] Test psa_cipher_set_iv DES 64 bit key
[Check 5] Test psa_cipher_set_iv DES 2-Key
[Check 6] Test psa_cipher_set_iv DES 3-Key
[Check 7] Test psa_cipher_set_iv AES - small iv buffer
[Check 8] Test psa_cipher_set_iv DES - small iv buffer
[Check 9] Test psa_cipher_set_iv AES - large iv buffer
[Check 10] Test psa_cipher_set_iv DES - large iv buffer

TEST RESULT: PASSED

******************************************

TEST: 236 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_update
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING (Short in)
[Check 3] Test psa_cipher_update - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_update - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_update - Encrypt - AES CTR
[Check 6] Test psa_cipher_update - Encrypt - DES CBC (nopad)
[Check 7] Test psa_cipher_update - Encrypt - 2-key 3DE -CBC (nopad)
[Check 8] Test psa_cipher_update - Encrypt - 3-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_update - Encrypt - small output buffer size
[Check 10] Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING
[Check 11] Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING (Short in)
[Check 12] Test psa_cipher_update - Decrypt - AES CBC_PKCS7
[Check 13] Test psa_cipher_update - Decrypt - AES CBC_PKCS7 (Short input)
[Check 14] Test psa_cipher_update - Decrypt - AES CTR
[Check 15] Test psa_cipher_update - Decrypt - DES CBC (nopad)
[Check 16] Test psa_cipher_update - Decrypt - 2-key 3DE -CBC (nopad)
[Check 17] Test psa_cipher_update - Decrypt - 3-key 3DE -CBC (nopad)
[Check 18] Test psa_cipher_update - Decrypt - small output buffer size
[Check 19] Test psa_cipher_update without cipher setup

TEST RESULT: PASSED

******************************************

TEST: 237 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING (Short in)
[Check 3] Test psa_cipher_finish - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_finish - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_finish - Encrypt - AES CTR
[Check 6] Test psa_cipher_finish - Encrypt - AES CTR (short input)
[Check 7] Test psa_cipher_finish - Encrypt - DES CBC (nopad)
[Check 8] Test psa_cipher_finish - Encrypt - 2-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_finish - Encrypt - 3-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_finish - Encrypt - small output buffer size
[Check 11] Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING
[Check 12] Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING (Short in)
[Check 13] Test psa_cipher_update - Decrypt - AES CBC_PKCS7
[Check 14] Test psa_cipher_finish - Decrypt - AES CBC_PKCS7 (Short input)
[Check 15] Test psa_cipher_finish - Decrypt - AES CTR
[Check 16] Test psa_cipher_finish - Decrypt - AES CTR (short input)
[Check 17] Test psa_cipher_finish - Decrypt - DES CBC (nopad)
[Check 18] Test psa_cipher_finish - Decrypt - 2-key 3DE -CBC (nopad)
[Check 19] Test psa_cipher_finish - Decrypt - 3-key 3DE -CBC (nopad)

TEST RESULT: PASSED

******************************************

TEST: 238 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_abort - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_abort - Encrypt - AES CBC_PKCS7
[Check 3] Test psa_cipher_abort - Encrypt - AES CTR
[Check 4] Test psa_cipher_abort - Encrypt - DES CBC (nopad)
[Check 5] Test psa_cipher_abort - Encrypt - 2-key 3DE -CBC (nopad)
[Check 6] Test psa_cipher_abort - Encrypt - 3-key 3DE -CBC (nopad)
[Check 7] Test psa_cipher_abort - Decrypt - AES CBC_NO_PADDING
[Check 8] Test psa_cipher_abort - Decrypt - AES CBC_PKCS7
[Check 9] Test psa_cipher_abort - Decrypt - AES CTR
[Check 10] Test psa_cipher_abort - Decrypt - DES CBC (nopad)
[Check 11] Test psa_cipher_abort - Decrypt - 2-key 3DE -CBC (nopad)
[Check 12] Test psa_cipher_abort - Decrypt - 3-key 3DE -CBC (nopad)
[Check 13] Test psa_cipher_update after psa_cipher_abort should fail

TEST RESULT: PASSED

******************************************

TEST: 239 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_asymmetric_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_asymmetric_encrypt - RSA PKCS1V15
[Check 2] Test psa_asymmetric_encrypt - RSA KEY_PAIR PKCS1V15
[Check 3] Test psa_asymmetric_encrypt - RSA OAEP SHA256
[Check 4] Test psa_asymmetric_encrypt - RSA OAEP SHA256 with label
[Check 5] Test psa_asymmetric_encrypt - RSA KEY_PAIR OAEP SHA256
[Check 6] Test psa_asymmetric_encrypt - RSA KEY_PAIR OAEP SHA256 with label
[Check 7] Test psa_asymmetric_encrypt - Small output buffer
[Check 8] Test psa_asymmetric_encrypt - Invalid algorithm
[Check 9] Test psa_asymmetric_encrypt - Invalid key type
[Check 10] Test psa_asymmetric_encrypt - Invalid usage
[Check 11] Test psa_asymmetric_encrypt - RSA PKCS1V15 - Salt
[Check 12] Test psa_asymmetric_encrypt - ECC public key
[Check 13] Test psa_asymmetric_encrypt - Invalid key handle
[Check 14] Test psa_asymmetric_encrypt - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 240 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_asymmetric_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_asymmetric_decrypt - RSA KEY_PAIR PKCS1V15
[Check 2] Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256
[Check 3] Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256 with label
[Check 4] Test psa_asymmetric_decrypt - Invalid key type (RSA public key)
[Check 5] Test psa_asymmetric_decrypt - Small output buffer
[Check 6] Test psa_asymmetric_decrypt - Invalid algorithm
[Check 7] Test psa_asymmetric_decrypt - Invalid key type (AES Key)
[Check 8] Test psa_asymmetric_decrypt - Invalid usage
[Check 9] Test psa_asymmetric_decrypt - RSA PKCS1V15 - Salt
[Check 10] Test psa_asymmetric_decrypt - Invalid key handle
[Check 11] Test psa_asymmetric_decrypt - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 241 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_sign_hash
[Info] Executing tests from non-secure
[Check 1] Test psa_sign_hash - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_sign_hash - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 3] Test psa_sign_hash - ECDSA SECP256R1 SHA-256
[Check 4] Test psa_sign_hash - Invalid key type (RSA public key)
[Check 5] Test psa_sign_hash - Small output buffer
[Check 6] Test psa_sign_hash - Invalid algorithm
[Check 7] Test psa_sign_hash - Invalid key type (AES Key)
[Check 8] Test psa_sign_hash - Invalid usage
[Check 9] Test psa_sign_hash - Wrong hash size
[Check 10] Test psa_sign_hash - Invalid key handle
[Check 11] Test psa_sign_hash - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 242 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_verify_hash
[Info] Executing tests from non-secure
[Check 1] Test psa_verify_hash - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_verify_hash - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 3] Test psa_verify_hash - ECDSA KEY_PAIR SECP256R1 SHA-256
[Check 4] Test psa_verify_hash - EC public key
[Check 5] Test psa_verify_hash - RSA public key
[Check 6] Test psa_verify_hash - Small output buffer
[Check 7] Test psa_verify_hash - Invalid algorithm
[Check 8] Test psa_verify_hash - Invalid key type (AES Key)
[Check 9] Test psa_verify_hash - Invalid usage
[Check 10] Test psa_verify_hash - Wrong hash size
[Check 11] Test psa_verify_hash - Wrong signature
[Check 12] Test psa_verify_hash - Wrong signature size
[Check 13] Test psa_verify_hash - Invalid key handle
[Check 14] Test psa_verify_hash - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 243 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_raw_key_agreement
[Info] Executing tests from non-secure
[Check 1] Test psa_raw_key_agreement - ECDH SECP256R1
[Check 2] Test psa_raw_key_agreement - Small buffer size
[Check 3] Test psa_raw_key_agreement - ECDH SECP384R1
[Check 4] Test psa_raw_key_agreement - Invalid usage
[Check 5] Test psa_raw_key_agreement - Unknown KDF
[Check 6] Test psa_raw_key_agreement - Not a key agreement alg
[Check 7] Test psa_raw_key_agreement - Public key on different curve
[Check 8] Test psa_raw_key_agreement - Public key instead of private key
[Check 9] Test psa_raw_key_agreement - Invalid key handle
[Check 10] Test psa_raw_key_agreement - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 244 | DESCRIPTION: Testing crypto key management APIs | UT: psa_copy_key
[Info] Executing tests from non-secure
[Check 1] Test psa_copy_key - 2048 RSA public key
[Check 2] Test psa_copy_key - RSA 2048 keypair
[Check 3] Test psa_copy_key - Incompatible target policy(source and target)
[Check 4] Test psa_copy_key - source key with no export usage
[Check 5] Test psa_copy_key - DES 64 bit key
[Check 6] Test psa_copy_key - Triple DES 2-Key
[Check 7] Test psa_copy_key - Triple DES 3-Key
[Check 8] Test psa_copy_key - EC Public key
[Check 9] Test psa_copy_key - EC keypair

TEST RESULT: PASSED

******************************************

TEST: 245 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_clone
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_clone - MD5 algorithm
[Check 2] Test psa_hash_clone - RIPEMD160 algorithm
[Check 3] Test psa_hash_clone - SHA1 algorithm
[Check 4] Test psa_hash_clone - SHA224 algorithm
[Check 5] Test psa_hash_clone - SHA256 algorithm
[Check 6] Test psa_hash_clone - SHA384 algorithm
[Check 7] Test psa_hash_clone - SHA512 algorithm
[Check 8] Test psa_hash_clone - from an inactive source operation
[Check 9] Test psa_hash_clone - on an active target operation

TEST RESULT: PASSED

******************************************

TEST: 246 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_compute
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_compute HMAC SHA 224
[Check 2] Test psa_mac_compute - Incompactible HMAC for CMAC
[Check 3] Test psa_mac_compute - Invalid usage
[Check 4] Test psa_mac_compute - truncated MAC too small
[Check 5] Test psa_mac_compute - truncated MAC too large
[Check 6] Test psa_mac_compute - bad algorithm (unknown MAC algorithm)
[Check 7] Test psa_mac_compute HMAC SHA 256
[Check 8] Test psa_mac_compute HMAC SHA 512
[Check 9] Test psa_mac_compute HMAC SHA 224 (truncated to 8 Byte)
[Check 10] Test psa_mac_compute CMAC AES 128
[Check 11] Test psa_mac_compute small size buffer
[Check 12] Test psa_mac_compute - Invalid key type

TEST RESULT: PASSED

******************************************

TEST: 247 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify HMAC SHA 224
[Check 2] Test psa_mac_verify HMAC SHA 256
[Check 3] Test psa_mac_verify - Incompactible HMAC for CMAC
[Check 4] Test psa_mac_verify - Invalid usage
[Check 5] Test psa_mac_verify - Truncated MAC too large
[Check 6] Test psa_mac_verify - Truncated MAC too small
[Check 7] Test psa_mac_verify - bad algorithm (unknown MAC algorithm)
[Check 8] Test psa_mac_verify HMAC SHA 512
[Check 9] Test psa_mac_verify HMAC SHA 224 (truncated to 8 Byte)
[Check 10] Test psa_mac_verify CMAC AES 128
[Check 11] Test psa_mac_verify - Invalid key type
[Check 12] Test psa_mac_verify small size buffer
[Check 13] Test psa_mac_verify incorrect expected MAC

TEST RESULT: PASSED

******************************************

TEST: 248 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING (Short input)
[Check 3] Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_encrypt - Encrypt - AES CTR
[Check 6] Test psa_cipher_encrypt - Encrypt - AES CTR (short input)
[Check 7] Test psa_cipher_encrypt - Encrypt - DES CBC (nopad)
[Check 8] Test psa_cipher_encrypt - Encrypt - 2-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_encrypt - Encrypt - 3-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_encrypt - small output buffer size
[Check 11] Test psa_cipher_encrypt - Decrypt - AES CBC_NO_PADDING

TEST RESULT: PASSED

******************************************

TEST: 249 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_decrypt - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING
[Check 3] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING (Short input)
[Check 4] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING
[Check 5] Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7
[Check 6] Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7 (Short input)
[Check 7] Test psa_cipher_decrypt - Decrypt - AES CTR
[Check 8] Test psa_cipher_decrypt - Decrypt - DES CBC (nopad)
[Check 9] Test psa_cipher_decrypt - Decrypt - 2-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_decrypt - 3-key 3DE -CBC (nopad)

TEST RESULT: PASSED

******************************************

TEST: 250 | DESCRIPTION: Testing crypto key management APIs | UT: psa_sign_message
[Info] Executing tests from non-secure
[Check 1] Test psa_sign_message - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_sign_message - ECDSA SECP256R1 SHA-256
[Check 3] Test psa_sign_message - Invalid key type (RSA public key)
[Check 4] Test psa_sign_message - Small output buffer
[Check 5] Test psa_sign_message - Invalid algorithm
[Check 6] Test psa_sign_message - Invalid key type (AES Key)
[Check 7] Test psa_sign_message - Invalid usage
[Check 8] Test psa_sign_message - Mismatch key type and Algorithm
[Check 9] Test psa_sign_message - Alg mismatch in key and API call
[Check 10] Test psa_sign_message - Invalid key handle
[Check 11] Test psa_sign_message - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 251 | DESCRIPTION: Testing crypto key management APIs | UT: psa_verify_message
[Info] Executing tests from non-secure
[Check 1] Test psa_verify_message - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_verify_message - RSA Public Key PKCS1V15 RAW
[Check 3] Test psa_verify_message - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 4] Test psa_verify_message - ECDSA KEY_PAIR SECP256R1 SHA-256
[Check 5] Test psa_verify_message - ECDSA Public Key SECP256R1 SHA-256
[Check 6] Test psa_verify_message - Small output buffer
[Check 7] Test psa_verify_message - Invalid algorithm
[Check 8] Test psa_verify_message - Invalid key type (AES Key)
[Check 9] Test psa_verify_message - Invalid usage
[Check 10] Test psa_verify_message - Wrong message size
[Check 11] Test psa_verify_message - Wrong signature
[Check 12] Test psa_verify_message - Wrong signature size
[Check 13] Test psa_verify_message - Invalid key handle
[Check 14] Test psa_verify_message - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 252 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_encrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_encrypt_setup - CCM - AES
[Check 2] Test psa_aead_encrypt_setup - CCM - AES - Tag length = 4
[Check 3] Test psa_aead_encrypt_setup - CCM - AES - Mismatched tag length
[Check 4] Test psa_aead_encrypt_setup - CCM - AES - Default Tag length
[Check 5] Test psa_aead_encrypt_setup - GCM - AES
[Check 6] Test psa_aead_encrypt_setup - CCM - DES Invalid key
[Check 7] Test psa_aead_encrypt_setup - Invalid usage flag

TEST RESULT: PASSED

******************************************

TEST: 253 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_decrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_decrypt_setup - CCM - AES
[Check 2] Test psa_aead_decrypt_setup - CCM - AES - Tag length = 4
[Check 3] Test psa_aead_decrypt_setup - CCM - AES - Mismatched tag length
[Check 4] Test psa_aead_decrypt_setup - CCM - AES - Default Tag length
[Check 5] Test psa_aead_decrypt_setup - GCM - AES
[Check 6] Test psa_aead_decrypt_setup - CCM - DES Invalid key
[Check 7] Test psa_aead_decrypt_setup - Invalid usage flag

TEST RESULT: PASSED

******************************************

TEST: 254 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_generate_nonce
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_generate_nonce - CCM
[Check 2] Test psa_aead_generate_nonce - CCM - Tag length = 4
[Check 3] Test psa_aead_generate_nonce - CCM - Small buffer size
[Check 4] Test psa_aead_generate_nonce - CCM - Uninitialized operation
[Check 5] Test psa_aead_generate_nonce - CCM - Decrypt operation
[Check 6] Test psa_aead_generate_nonce - GCM
[Check 7] Test psa_aead_generate_nonce - GCM - Decrypt operation

TEST RESULT: PASSED

******************************************

TEST: 255 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_set_nonce
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_set_nonce - Encrypt - CCM
[Check 2] Test psa_aead_set_nonce - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_set_nonce - Encrypt - CCM - Small nonce size
[Check 4] Test psa_aead_set_nonce - Encrypt - CCM - Large nonce size
[Check 5] Test psa_aead_set_nonce - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_set_nonce - Encrypt - GCM
[Check 7] Test psa_aead_set_nonce - Decrypt - CCM
[Check 8] Test psa_aead_set_nonce - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_set_nonce - Decrypt - CCM - Small nonce size
[Check 10] Test psa_aead_set_nonce - Decrypt - CCM - Large nonce size
[Check 11] Test psa_aead_set_nonce - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_set_nonce - Decrypt - GCM

TEST RESULT: PASSED

******************************************

TEST: 256 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_set_lengths
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_set_lengths - Encrypt - CCM
[Check 2] Test psa_aead_set_lengths - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_set_lengths - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_set_lengths - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_set_lengths - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_set_lengths - Encrypt - GCM
[Check 7] Test psa_aead_set_lengths - Decrypt - CCM
[Check 8] Test psa_aead_set_lengths - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_set_lengths - Decrypt - CCM - Zero ad_length
[Check 10] Test psa_aead_set_lengths - Decrypt - CCM - Zero plaintext_length
[Check 11] Test psa_aead_set_lengths - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_set_lengths - Decrypt - GCM

TEST RESULT: PASSED

******************************************

TEST: 257 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_update_ad
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_update_ad - Encrypt - CCM
[Check 2] Test psa_aead_update_ad - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_update_ad - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_update_ad - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_update_ad - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_update_ad - Encrypt - CCM - Overflow input length
[Check 7] Test psa_aead_update_ad - Decrypt - CCM
[Check 8] Test psa_aead_update_ad - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_update_ad - Decrypt - CCM - Zero ad_length
[Check 10] Test psa_aead_update_ad - Decrypt - CCM - Zero plaintext_length
[Check 11] Test psa_aead_update_ad - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_update_ad - Decrypt - CCM - Overflow input length

TEST RESULT: PASSED

******************************************

TEST: 258 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_update
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_update - Encrypt - CCM
[Check 2] Test psa_aead_update - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_update - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_update - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_update - Encrypt - CCM - Small buffer size
[Check 6] Test psa_aead_update - Encrypt - CCM - Less add data than specified
[Check 7] Test psa_aead_update - Encrypt - CCM - Overflow input length
[Check 8] Test psa_aead_update - Encrypt - CCM - Invalid operation state
[Check 9] Test psa_aead_update - Decrypt - CCM
[Check 10] Test psa_aead_update - Decrypt - CCM - Tag length = 4
[Check 11] Test psa_aead_update - Decrypt - CCM - Zero ad_length
[Check 12] Test psa_aead_update - Decrypt - CCM - Zero plaintext_length
[Check 13] Test psa_aead_update - Decrypt - CCM - Small buffer size
[Check 14] Test psa_aead_update - Decrypt - Less add data than specified
[Check 15] Test psa_aead_update - Decrypt - CCM - Overflow input length
[Check 16] Test psa_aead_update - Decrypt - CCM - Invalid operation state

TEST RESULT: PASSED

******************************************

TEST: 259 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_finish - AES-CCM
[Check 2] Test psa_aead_finish - AES-CCM 24 bytes Tag length = 4
[Check 3] Test psa_aead_finish - Small buffer size
[Check 4] Test psa_aead_finish - Input length is less than plaintext length
[Check 5] Test psa_aead_finish - GCM - 16B AES - 12B Nonce & 12B additional data

TEST RESULT: PASSED

******************************************

TEST: 260 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_abort - Encrypt - CCM - AES
[Check 2] Test psa_aead_abort - Encrypt - GCM - AES
[Check 3] Test psa_aead_abort - Decrypt - CCM - AES
[Check 4] Test psa_aead_abort - Decrypt - GCM - AES
[Check 5] Test psa_aead_abort with all initializations

TEST RESULT: PASSED

******************************************

TEST: 261 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_verify - AES-CCM
[Check 2] Test psa_aead_verify - AES-CCM 24 bytes Tag length = 4
[Check 3] Test psa_aead_verify - Small buffer size
[Check 4] Test psa_aead_verify - Input length is less than plaintext length
[Check 5] Test psa_aead_verify - GCM - 16B AES - 12B Nounce & 12B addi data

TEST RESULT: PASSED

******************************************

************ Crypto Suite Report **********
TOTAL TESTS     : 61
TOTAL PASSED    : 61
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-iat-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-iat-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Attestation Suite
******************************************

TEST: 601 | DESCRIPTION: Testing attestation initial attestation APIs | UT: psa_initial_attestation
[Info] Executing tests from non-secure
[Check 1] Test psa_initial_attestation_get_token with Challenge 32
[Check 2] Test psa_initial_attestation_get_token with Challenge 48
[Check 3] Test psa_initial_attestation_get_token with Challenge 64
[Check 4] Test psa_initial_attestation_get_token with zero challenge size
[Check 5] Test psa_initial_attestation_get_token with small challenge size
[Check 6] Test psa_initial_attestation_get_token with invalid challenge size
[Check 7] Test psa_initial_attestation_get_token with large challenge size
[  155.857702] Arm TSTEE: invoke_func rpc status: -6
call():229 failed to invoke command: 22
[Check 8] Test psa_initial_attestation_get_token with zero as token size
[Check 9] Test psa_initial_attestation_get_token with small token size
[Check 10] Test psa_initial_attestation_get_token_size with Challenge 32
[Check 11] Test psa_initial_attestation_get_token_size with Challenge 48
[Check 12] Test psa_initial_attestation_get_token_size with Challenge 64
[Check 13] Test psa_initial_attestation_get_token_size with zero challenge size
[Check 14] Test psa_initial_attestation_get_token_size with small challenge size
[Check 15] Test psa_initial_attestation_get_token_size with invalid challenge size
[Check 16] Test psa_initial_attestation_get_token_size with large challenge size

TEST RESULT: PASSED

******************************************

************ Attestation Suite Report **********
TOTAL TESTS     : 1
TOTAL PASSED    : 1
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-its-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-its-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Storage Suite
******************************************

TEST: 401 | DESCRIPTION: UID not found check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call get API for UID 6 which is not set
[Check 2] Call get_info API for UID 6 which is not set
[Check 3] Call remove API for UID 6 which is not set
[Check 4] Call get API for UID 6 which is removed
[Check 5] Call get_info API for UID 6 which is removed
[Check 6] Call remove API for UID 6 which is removed
Set storage for UID 6
[Check 7] Call get API for different UID 5
[Check 8] Call get_info API for different UID 5
[Check 9] Call remove API for different UID 5

TEST RESULT: PASSED

******************************************

TEST: 402 | DESCRIPTION: Write once error check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Update the flag of UID 1 with WRITE_ONCE flag
[Check 2] Try to remove the UID 1 having WRITE_ONCE flag
[Check 3] Create a new UID 2 with WRITE_ONCE flag
[Check 4] Try to remove the UID 2 having WRITE_ONCE flag
[Check 5] Try to change the length of write_once UID 2
[Check 6] Check UID removal still fails
[Check 7] Try to change the WRITE_ONCE flag to None for UID 2
[Check 8] Check UID removal still fails

TEST RESULT: PASSED

******************************************

TEST: 403 | DESCRIPTION: Insufficient space check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Overload storage space
UID 13 set failed due to insufficient space
Remove all registered UIDs
[Check 2] Overload storage again to verify all previous UID removed
UID 13 set failed due to insufficient space
Remove all registered UIDs

TEST RESULT: PASSED

******************************************

TEST: 404 | DESCRIPTION: Data Consistency check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with reduced length - TEST_BUFF_SIZE/2
[Check 2] Call get API with default length - TEST_BUFF_SIZE

TEST RESULT: PASSED

******************************************

TEST: 405 | DESCRIPTION: Success scenarios check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Set UID with data length zero and call storage APIs
[Check 2] Resetting the length check

TEST RESULT: PASSED

******************************************

TEST: 406 | DESCRIPTION: Check for storage create flags | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with flag - PSA_STORAGE_FLAG_NONE
[Check 2] Call set API with flag - PSA_STORAGE_FLAG_NO_CONFIDENTIALITY
[Check 3] Call set API with flag - PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION

TEST RESULT: PASSED

******************************************

TEST: 407 | DESCRIPTION: Incorrect Size check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
Create a valid Storage - TEST_BUFF_SIZE/2
Increase the length of storage - TEST_BUFF_SIZE
[Check 1] Call get API with old length - TEST_BUFF_SIZE/2
[Check 2] Call get API with old length - TEST_BUFF_SIZE/4
Decrease the length of storage - TEST_BUFF_SIZE/4
[Check 3] Call get API with old length - TEST_BUFF_SIZE/2
[Check 4] Call get API with old length - TEST_BUFF_SIZE
[Check 5] Call get API with valid length - TEST_BUFF_SIZE/4

TEST RESULT: PASSED

******************************************

TEST: 408 | DESCRIPTION: Invalid offset check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Try to access data with varying valid offset
[Check 2] Try to access data with varying invalid offset

TEST RESULT: PASSED

******************************************

TEST: 409 | DESCRIPTION: Invalid Arguments check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with NULL pointer and data length 0
[Check 2] Call get API with NULL read buffer and data length 0
[Check 3] Remove the UID
[Check 4] Call get_info API to verify UID removed
[Check 5] Create UID with zero data_len and valid write buffer
[Check 8] Call get API with NULL read buffer and data length 0
[Check 9] Increase the length

TEST RESULT: PASSED

******************************************

TEST: 410 | DESCRIPTION: UID value zero check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Creating storage with UID 0 should fail
[Check 2] Get_info for UID 0 should fail
[Check 3] Removing storage with UID 0 should fail

TEST RESULT: PASSED

******************************************

************ Storage Suite Report **********
TOTAL TESTS     : 10
TOTAL PASSED    : 10
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-ps-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-ps-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Storage Suite
******************************************

TEST: 401 | DESCRIPTION: UID not found check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call get API for UID 6 which is not set
[Check 2] Call get_info API for UID 6 which is not set
[Check 3] Call remove API for UID 6 which is not set
[Check 4] Call get API for UID 6 which is removed
[Check 5] Call get_info API for UID 6 which is removed
[Check 6] Call remove API for UID 6 which is removed
Set storage for UID 6
[Check 7] Call get API for different UID 5
[Check 8] Call get_info API for different UID 5
[Check 9] Call remove API for different UID 5

TEST RESULT: PASSED

******************************************

TEST: 402 | DESCRIPTION: Write once error check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Update the flag of UID 1 with WRITE_ONCE flag
[Check 2] Try to remove the UID 1 having WRITE_ONCE flag
[Check 3] Create a new UID 2 with WRITE_ONCE flag
[Check 4] Try to remove the UID 2 having WRITE_ONCE flag
[Check 5] Try to change the length of write_once UID 2
[Check 6] Check UID removal still fails
[Check 7] Try to change the WRITE_ONCE flag to None for UID 2
[Check 8] Check UID removal still fails

TEST RESULT: PASSED

******************************************

TEST: 403 | DESCRIPTION: Insufficient space check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Overload storage space
UID 13 set failed due to insufficient space
Remove all registered UIDs
[Check 2] Overload storage again to verify all previous UID removed
UID 13 set failed due to insufficient space
Remove all registered UIDs

TEST RESULT: PASSED

******************************************

TEST: 404 | DESCRIPTION: Data Consistency check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with reduced length - TEST_BUFF_SIZE/2
[Check 2] Call get API with default length - TEST_BUFF_SIZE

TEST RESULT: PASSED

******************************************

TEST: 405 | DESCRIPTION: Success scenarios check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Set UID with data length zero and call storage APIs
[Check 2] Resetting the length check

TEST RESULT: PASSED

******************************************

TEST: 406 | DESCRIPTION: Check for storage create flags | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with flag - PSA_STORAGE_FLAG_NONE
[Check 2] Call set API with flag - PSA_STORAGE_FLAG_NO_CONFIDENTIALITY
[Check 3] Call set API with flag - PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION

TEST RESULT: PASSED

******************************************

TEST: 407 | DESCRIPTION: Incorrect Size check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Create a valid Storage - TEST_BUFF_SIZE/2
Increase the length of storage - TEST_BUFF_SIZE
[Check 1] Call get API with old length - TEST_BUFF_SIZE/2
[Check 2] Call get API with old length - TEST_BUFF_SIZE/4
Decrease the length of storage - TEST_BUFF_SIZE/4
[Check 3] Call get API with old length - TEST_BUFF_SIZE/2
[Check 4] Call get API with old length - TEST_BUFF_SIZE
[Check 5] Call get API with valid length - TEST_BUFF_SIZE/4

TEST RESULT: PASSED

******************************************

TEST: 408 | DESCRIPTION: Invalid offset check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Try to access data with varying valid offset
[Check 2] Try to access data with varying invalid offset

TEST RESULT: PASSED

******************************************

TEST: 409 | DESCRIPTION: Invalid Arguments check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with NULL pointer and data length 0
[Check 2] Call get API with NULL read buffer and data length 0
[Check 3] Remove the UID
[Check 4] Call get_info API to verify UID removed
[Check 5] Create UID with zero data_len and valid write buffer
[Check 8] Call get API with NULL read buffer and data length 0
[Check 9] Increase the length

TEST RESULT: PASSED

******************************************

TEST: 410 | DESCRIPTION: UID value zero check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Creating storage with UID 0 should fail
[Check 2] Get_info for UID 0 should fail
[Check 3] Removing storage with UID 0 should fail

TEST RESULT: PASSED

******************************************

TEST: 411 | DESCRIPTION: Optional APIs: UID not found check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 412 | DESCRIPTION: Optional APIs: Invalid arguments and offset invalid | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 413 | DESCRIPTION: Set_Extended and Create api : Success | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 414 | DESCRIPTION: Optional APIs not supported check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Optional PS APIs are not supported.
[Check 1] Call to create API should fail as API not supported
[Check 2] Create valid storage with set API
[Check 3] Call to set_extended API call should fail
[Check 4] Verify data is unchanged

TEST RESULT: PASSED

******************************************

TEST: 415 | DESCRIPTION: Create API write_once flag value check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 416 | DESCRIPTION: Storage assest capacity modification check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs not are supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 417 | DESCRIPTION: Storage assest capacity modification check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs not are supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

************ Storage Suite Report **********
TOTAL TESTS     : 17
TOTAL PASSED    : 11
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 6
******************************************

Entering standby..

#echo

ts-demo

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install-btest/arm-linux/bin/ts-demo

Demonstrates use of trusted services from an application
---------------------------------------------------------
A client requests a set of crypto operations performed by
the Crypto service.  Key storage for persistent keys is
provided by the Secure Storage service via the ITS client.

Generating random bytes length: 1
	Operation successful
	Random bytes:
		1C
Generating random bytes length: 7
	Operation successful
	Random bytes:
		F8 4C 06 03 14 90 39
Generating random bytes length: 128
	Operation successful
	Random bytes:
		CA CB 93 A8 DF B0 B0 39
		0C F0 94 A5 59 53 1D B6
		59 0E 76 06 CE F3 C0 49
		9F D4 8E C0 72 6E 00 15
		6C 45 CE A2 CC A7 5F C0
		40 E9 B4 A2 A5 9E BA C9
		8D 9F 57 35 79 FE 87 F0
		76 13 12 95 74 F2 72 CF
		32 47 11 6C F5 C0 ED B7
		92 09 D9 10 13 C1 DD 17
		C8 64 1C 3F 8C 88 A0 22
		11 37 9D A5 01 A0 10 71
		63 6B B9 C8 90 2A F0 FE
		27 B4 3B B8 9D 71 DE 89
		1B 6B 43 68 10 EF AD DD
		A3 2D 39 FD 04 97 A1 11
Generating ECC signing key
	Operation successful
Signing message: "The quick brown fox" using key: 256
	Operation successful
	Signature bytes:
		80 6A D6 CE D1 E1 CF 12
		58 CF BF D8 EE 24 86 E3
		3C 57 17 6C E6 56 EB B8
		41 3D F9 64 CA 8F 7F D2
		EA 76 71 BF 41 E2 AA 19
		81 D1 BD 94 8F 7E FA BC
		0B AA 1D 51 A5 20 EF BE
		F8 39 45 6F A3 B9 18 2F
Verify signature using original message: "The quick brown fox"
	Operation successful
Verify signature using modified message: "!he quick brown fox"
	Successfully detected modified message
Signing message: "jumps over the lazy dog" using key: 256
	Operation successful
	Signature bytes:
		94 2F FD FE 6D 84 ED 33
		5B 8B 53 DC B7 CD 9C 25
		79 31 87 59 92 AD AC 6C
		85 E3 2E 8E 23 22 AA 5B
		17 AB AC 9C 5B E1 D7 8D
		93 86 2D 96 95 83 B8 28
		CB 70 5B 06 8B F1 4D FD
		AF EA AF 5C 45 7D C0 78
Verify signature using original message: "jumps over the lazy dog"
	Operation successful
Verify signature using modified message: "!umps over the lazy dog"
	Successfully detected modified message
Generating RSA encryption key
	Operation successful
Encrypting message: "Top secret" using RSA key: 257
	Operation successful
	Encrypted message:
		95 88 E5 A2 8C 98 8E 88
		F6 59 00 22 52 4C 41 1D
		05 04 82 31 EA 36 CB 16
		D5 D0 B6 6B 08 49 F7 F5
		89 38 8B 25 AA 03 F1 16
		E0 13 8E 8E F8 9F AD 84
		94 FF C2 3A DF 7A 67 69
		C2 01 12 26 11 7E 1C 44
		B4 CC CE 80 03 3B 5F 68
		F9 F0 DE BC E9 9E AE FF
		EC 00 05 13 0B 55 85 A4
		B7 F9 FF A3 D2 67 CE 9F
		F4 7C 1D 64 06 A4 9B 17
		96 0C 00 F7 DA EA CB 6A
		57 BF 28 DA 4D 91 58 55
		BB 4D 4C D2 45 1B AD 42
Decrypting message using RSA key: 257
	Operation successful
	Decrypted message: "Top secret"
Exporting public key: 256
	Operation successful
	Public key bytes:
		04 26 5F DE BA 73 FC 96
		67 A8 F6 33 8D F3 3E 44
		7B CE 3C 3A 65 93 99 96
		BD 31 8B 78 4B 53 49 B8
		22 10 9D 73 88 32 21 C9
		95 46 4F 47 20 FD E5 82
		8F 61 4B 27 93 D6 17 8F
		5D 34 67 10 0E E1 F7 EA
		AC
Destroying signing key: 256
	Operation successful
Destroying encryption key: 257
	Operation successful

#echo

Config 3: psa-ts-fip

Build command

MEASURED_BOOT=y SPMC_TESTS=n TS_SMM_GATEWAY=n TS_UEFI_TESTS=n TS_FW_UPDATE=y SP_PACKAGING_METHOD=fip DEFAULT_SP_CONFIG=default-sp SP_BLOCK_STORAGE_CONFIG=default-sp SP_PSA_ITS_CONFIG=default-sp SP_PSA_PS_CONFIG=shared-flash-opteesp;

Setup steps after boot

/mnt/host/out/linux-arm-ffa-user/load_module.sh

Test results

ts-service-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/ts-service-test -v
TEST(FwuServiceTests, checkMetadataAccess) - 13842 ms
TEST(FwuServiceTests, checkImgDirAccess) - 10700 ms
TEST(PsServiceTests, createAndSetExtended) - 7617 ms
TEST(PsServiceTests, createAndSet) - 73374 ms
TEST(PsServiceTests, storeNewItem) - 73529 ms
TEST(ItsServiceTests, storeNewItem) - 7549 ms
TEST(AttestationProvisioningTests, provisionedIak) - 35836 ms
TEST(AttestationProvisioningTests, selfGeneratedIak) - 61633 ms
TEST(AttestationServiceTests, repeatedOperation) - 7159640 ms
TEST(AttestationServiceTests, invalidChallengeLen)[   13.143177] Arm TSTEE: invoke_func rpc status: -6
call():229 failed to invoke command: 22
 - 10922 ms
TEST(AttestationServiceTests, checkTokenSize) - 80109 ms
TEST(CryptoKeyDerivationServicePackedcTests, deriveAbort) - 11367 ms
TEST(CryptoKeyDerivationServicePackedcTests, hkdfDeriveBytes) - 11394 ms
TEST(CryptoKeyDerivationServicePackedcTests, hkdfDeriveKey) - 11628 ms
TEST(CryptoMacServicePackedcTests, macAbort) - 10092 ms
TEST(CryptoMacServicePackedcTests, signAndVerify) - 37109 ms
TEST(CryptoCipherServicePackedcTests, cipherAbort) - 9978 ms
TEST(CryptoCipherServicePackedcTests, encryptDecryptRoundtrip) - 27288 ms
TEST(CryptoHashServicePackedcTests, hashAbort) - 11317 ms
TEST(CryptoHashServicePackedcTests, hashAndVerify) - 14272 ms
TEST(CryptoHashServicePackedcTests, calculateHash) - 9458 ms
TEST(CryptoServicePackedcTests, verifyPkcs7Signature) - 33441 ms
TEST(CryptoServicePackedcTests, generateRandomNumbers) - 12972 ms
TEST(CryptoServicePackedcTests, asymEncryptDecryptWithSalt) - 1702549 ms
TEST(CryptoServicePackedcTests, asymEncryptDecrypt) - 1005068 ms
TEST(CryptoServicePackedcTests, signAndVerifyEat) - 316566 ms
TEST(CryptoServicePackedcTests, signAndVerifyMessage) - 320904 ms
TEST(CryptoServicePackedcTests, signAndVerifyHash) - 318934 ms
TEST(CryptoServicePackedcTests, exportAndImportKeyPair) - 42631 ms
TEST(CryptoServicePackedcTests, exportPublicKey) - 62666 ms
TEST(CryptoServicePackedcTests, purgeKey) - 39264 ms
TEST(CryptoServicePackedcTests, copyKey) - 2051007 ms
TEST(CryptoServicePackedcTests, generatePersistentKeys) - 67882 ms
TEST(CryptoServicePackedcTests, generateVolatileKeys) - 59234 ms
TEST(CryptoServiceProtobufTests, generateRandomNumbers) - 14144 ms
TEST(CryptoServiceProtobufTests, asymEncryptDecryptWithSalt) - 973661 ms
TEST(CryptoServiceProtobufTests, asymEncryptDecrypt) - 1151731 ms
TEST(CryptoServiceProtobufTests, signAndVerifyMessage) - 321445 ms
TEST(CryptoServiceProtobufTests, signAndVerifyHash) - 320531 ms
TEST(CryptoServiceProtobufTests, exportAndImportKeyPair) - 42844 ms
TEST(CryptoServiceProtobufTests, exportPublicKey) - 63490 ms
TEST(CryptoServiceProtobufTests, generatePersistentKeys) - 67583 ms
TEST(CryptoServiceProtobufTests, generateVolatileKeys) - 59785 ms
TEST(CryptoServiceLimitTests, volatileRsaKeyPairLimit) - 45646722 ms
TEST(CryptoServiceLimitTests, volatileEccKeyPairLimit) - 1954096 ms

OK (45 tests, 45 ran, 775 checks, 0 ignored, 0 filtered out, 64351213 ms)


#echo

psa-crypto-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-crypto-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Crypto Suite
******************************************

TEST: 201 | DESCRIPTION: Testing crypto key management APIs | UT:  psa_crypto_init
[Info] Executing tests from non-secure
[Check 1] Test calling crypto functions before psa_crypto_init
[Check 2] Test psa_crypto_init
[Check 3] Test multiple psa_crypto_init

TEST RESULT: PASSED

******************************************

TEST: 202 | DESCRIPTION: Testing crypto key management APIs | UT: psa_import_key
[Info] Executing tests from non-secure
[Check 1] Test psa_import_key 16 bytes AES
[Check 2] Test psa_import_key 24 bytes AES
[Check 3] Test psa_import_key 32 bytes AES
[Check 4] Test psa_import_key 2048 RSA public key
[Check 5] Test psa_import_key with RSA 2048 keypair
[Check 6] Test psa_import_key with DES 8 bytes key
[Check 7] Test psa_import_key with Triple DES 2-Key
[Check 8] Test psa_import_key with Triple DES 3-Key
[Check 9] Test psa_import_key with EC Public key
[Check 10] Test psa_import_key with EC keypair
[Check 11] Test psa_import_key 16 bytes AES with invalid bits
[Check 12] Test psa_import_key with key data greater than the algorithm size
[Check 13] Test psa_import_key with incorrect key data size
[Check 14] Test psa_import_key with invalid key type value

TEST RESULT: PASSED

******************************************

TEST: 203 | DESCRIPTION: Testing crypto key management APIs | UT: psa_export_key
[Info] Executing tests from non-secure
[Check 1] Test psa_export_key 16 Byte AES
[Check 2] Test psa_export_key 24 Byte AES
[Check 3] Test psa_export_key 32 Byte AES
[Check 4] Test psa_export_key 2048 RSA public key
[Check 5] Test psa_export_key with RSA 2048 keypair
[Check 6] Test psa_export_key with DES 64 bit key
[Check 7] Test psa_export_key with Triple DES 2-Key
[Check 8] Test psa_export_key with Triple DES 3-Key
[Check 9] Test psa_export_key with EC Public key
[Check 10] Test psa_export_key with EC keypair
[Check 11] Test psa_export_key with key policy verify
[Check 12] Test psa_export_key with less buffer size

TEST RESULT: PASSED

******************************************

TEST: 204 | DESCRIPTION: Testing crypto key management APIs | UT: psa_export_public_key
[Info] Executing tests from non-secure
[Check 1] Test psa_export_public_key 16 Byte AES
[Check 2] Test psa_export_public_key 24 Byte AES
[Check 3] Test psa_export_public_key 32 Byte AES
[Check 4] Test psa_export_public_key 2048 RSA public key
[Check 5] Test psa_export_public_key with RSA 2048 keypair
[Check 6] Test psa_export_public_key with DES 64 bit key
[Check 7] Test psa_export_public_key with Triple DES 2-Key
[Check 8] Test psa_export_public_key with Triple DES 3-Key
[Check 9] Test psa_export_public_key with EC Public key
[Check 10] Test psa_export_public_key with EC keypair
[Check 11] Test psa_export_public_key with less buffer size

TEST RESULT: PASSED

******************************************

TEST: 205 | DESCRIPTION: Testing crypto key management APIs | UT: psa_destroy_key
[Info] Executing tests from non-secure
[Check 1] Test psa_destroy_key 16 Byte AES
[Check 2] Test psa_destroy_key 24 Byte AES
[Check 3] Test psa_destroy_key 32 Byte AES
[Check 4] Test psa_destroy_key 2048 RSA public key
[Check 5] Test psa_destroy_key with RSA 2048 keypair
[Check 6] Test psa_destroy_key with DES 64 bit key
[Check 7] Test psa_destroy_key with Triple DES 2-Key
[Check 8] Test psa_destroy_key with Triple DES 3-Key
[Check 9] Test psa_destroy_key with EC Public key
[Check 10] Test psa_destroy_key with EC keypair

TEST RESULT: PASSED

******************************************

TEST: 206 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_compute
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_compute with MD5 algorithm
[Check 2] Test psa_hash_compute with RIPEMD160 algorithm
[Check 3] Test psa_hash_compute with SHA1 algorithm
[Check 4] Test psa_hash_compute with SHA224 algorithm
[Check 5] Test psa_hash_compute with SHA256 algorithm
[Check 6] Test psa_hash_compute with SHA384 algorithm
[Check 7] Test psa_hash_compute with SHA512 algorithm
[Check 8] Test psa_hash_compute with small buffer size
[Check 9] Test psa_hash_compute with invalid algorithm

TEST RESULT: PASSED

******************************************

TEST: 207 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_compare
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_compare with MD5 algorithm
[Check 2] Test psa_hash_compare with RIPEMD160 algorithm
[Check 3] Test psa_hash_compare with SHA1 algorithm
[Check 4] Test psa_hash_compare with SHA224 algorithm
[Check 5] Test psa_hash_compare with SHA256 algorithm
[Check 6] Test psa_hash_compare with SHA384 algorithm
[Check 7] Test psa_hash_compare with SHA512 algorithm
[Check 8] Test psa_hash_compare with incorrect hash
[Check 9] Test psa_hash_compare with incorrect hash length
[Check 10] Test psa_hash_compare with invalid algorithm

TEST RESULT: PASSED

******************************************

TEST: 208 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_setup - ECDH + HKDF-SHA-256
[Check 2] Test psa_key_derivation_setup - ECDH, unknown KDF
[Check 3] Test psa_key_derivation_setup - bad key derivation algorithm
[Check 4] Test psa_key_derivation_setup - Invalid Algorithm

TEST RESULT: PASSED

******************************************

TEST: 209 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_input_bytes
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_input_bytes - Step as Info
[Check 2] Test psa_key_derivation_input_bytes - Step as secret
[Check 3] Test psa_key_derivation_input_bytes - Step as salt
[Check 4] Test psa_key_derivation_input_bytes - Step as label
[Check 5] Test psa_key_derivation_input_bytes - Step as seed
[Check 6] Test psa_key_derivation_input_bytes - Invalid step

TEST RESULT: PASSED

******************************************

TEST: 210 | DESCRIPTION: Testing crypto key attributes APIs | UT: psa_key_attributes_set_get
[Info] Executing tests from non-secure
[Check 1] Test psa_key_attributes_set_get key attributes

TEST RESULT: PASSED

******************************************

TEST: 211 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_setup with MD5 algorithm
[Check 2] Test psa_hash_setup with RIPEMD160 algorithm
[Check 3] Test psa_hash_setup with SHA1 algorithm
[Check 4] Test psa_hash_setup with SHA224 algorithm
[Check 5] Test psa_hash_setup with SHA256 algorithm
[Check 6] Test psa_hash_setup with SHA384 algorithm
[Check 7] Test psa_hash_setup with SHA512 algorithm
[Check 8] Test psa_hash_setup with Invalid hash algorithm
[Check 9] Test psa_hash_setup with Invalid algorithm
[Check 10] Test psa_hash_setup with CTR algorithm

TEST RESULT: PASSED

******************************************

TEST: 212 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_update
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_update with MD5 algorithm
[Check 2] Test psa_hash_update with RIPEMD160 algorithm
[Check 3] Test psa_hash_update with SHA1 algorithm
[Check 4] Test psa_hash_update with SHA224 algorithm
[Check 5] Test psa_hash_update with SHA256 algorithm
[Check 6] Test psa_hash_update with SHA384 algorithm
[Check 7] Test psa_hash_update with SHA512 algorithm
[Check 8] Test psa_hash_update without hash setup
[Check 9] Test psa_hash_update with completed opertaion handle

TEST RESULT: PASSED

******************************************

TEST: 213 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_verify with MD5 algorithm
[Check 2] Test psa_hash_verify with RIPEMD160 algorithm
[Check 3] Test psa_hash_verify with SHA1 algorithm
[Check 4] Test psa_hash_verify with SHA224 algorithm
[Check 5] Test psa_hash_verify with SHA256 algorithm
[Check 6] Test psa_hash_verify with SHA384 algorithm
[Check 7] Test psa_hash_verify with SHA512 algorithm
[Check 8] Test psa_hash_verify with incorrect expected hash
[Check 9] Test psa_hash_verify with incorrect hash length
[Check 10] test psa_hash_verify with inactive & invalid operation handle

TEST RESULT: PASSED

******************************************

TEST: 214 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_finish with MD5 algorithm
[Check 2] Test psa_hash_finish with RIPEMD160 algorithm
[Check 3] Test psa_hash_finish with SHA1 algorithm
[Check 4] Test psa_hash_finish with SHA224 algorithm
[Check 5] Test psa_hash_finish with SHA256 algorithm
[Check 6] Test psa_hash_finish with SHA384 algorithm
[Check 7] Test psa_hash_finish with SHA512 algorithm
[Check 8] Test psa_hash_finish with invalid hash buffer size
[Check 9] test psa_hash_finish with inactive operation handle

TEST RESULT: PASSED

******************************************

TEST: 215 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_abort with MD5 algorithm
[Check 2] Test psa_hash_abort with RIPEMD160 algorithm
[Check 3] Test psa_hash_abort with SHA1 algorithm
[Check 4] Test psa_hash_abort with SHA224 algorithm
[Check 5] Test psa_hash_abort with SHA256 algorithm
[Check 6] Test psa_hash_abort with SHA384 algorithm
[Check 7] Test psa_hash_abort with SHA512 algorithm
[Check 8] Test psa_hash_finish after calling psa_hash_abort

TEST RESULT: PASSED

******************************************

TEST: 216 | DESCRIPTION: Testing crypto generator functions APIs | UT: psa_generate_key
[Info] Executing tests from non-secure
[Check 1] Test psa_generate_key 16 Byte AES
[Check 2] Test psa_generate_key 24 Byte AES
[Check 3] Test psa_generate_key 32 Byte AES
[Check 4] Test psa_generate_key with DES 64 bit key
[Check 5] Test psa_generate_key with Triple DES 2-Key
[Check 6] Test psa_generate_key with Triple DES 3-Key
[Check 7] Test psa_generate_key with RSA 2048 Keypair
[Check 8] Test psa_generate_key with ECC KeyPair
[Check 9] Test psa_generate_key with RSA 2048 Public key
[Check 10] Test psa_generate_key with invalid key type
[Check 11] Test psa_generate_key with invalid usage flags

TEST RESULT: PASSED

******************************************

TEST: 217 | DESCRIPTION: Testing crypto generation APIs | UT: psa_generate_random
[Info] Executing tests from non-secure
[Check 1] Test psa_generate_random to get 0 Byte data
[Check 2] Test psa_generate_random to get 16 Byte data
[Check 3] Test psa_generate_random to get 24 Byte data
[Check 4] Test psa_generate_random to get 32 Byte data
[Check 5] Test psa_generate_random to get 64 Byte data
[Check 6] Test psa_generate_random to get 128 Byte data
[Check 7] Test psa_generate_random to get 256 Byte data
[Check 8] Test psa_generate_random to get 512 Byte data
[Check 9] Test psa_generate_random to get 1000 Byte data

TEST RESULT: PASSED

******************************************

TEST: 218 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_input_key
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_input_key 16 Byte Key
[Check 2] Test psa_key_derivation_input_key with invalid usage
[Check 3] Test psa_key_derivation_input_key with step as label
[Check 4] Test psa_key_derivation_input_key with step as info
[Check 5] Test psa_key_derivation_input_key with step as seed
[Check 6] Test psa_key_derivation_input_key with step as salt
[Check 7] Test psa_key_derivation_input_key with key type as AES(not derive)
[Check 8] Test psa_key_derivation_input_key incorrect key algorithm
[Check 9] Test psa_key_derivation_input_key with key type as 2048 RSA public key
[Check 10] Test psa_key_derivation_input_key with key type as RSA 2048 keypair
[Check 11] Test psa_key_derivation_input_key with zero as step
[Check 12] Test psa_cipher_decrypt_setup - Invalid key handle
[Check 13] Test psa_cipher_decrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 219 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_key_agreement
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_key_agreement - ECDH SECP256R1
[Check 2] Test psa_key_derivation_key_agreement - Invalid step
[Check 3] Test psa_key_derivation_key_agreement - ECDH SECP384R1
[Check 4] Test psa_key_derivation_key_agreement - Invalid usage
[Check 5] Test psa_key_derivation_key_agreement - KDF not a key agreement alg
[Check 6] Test psa_key_derivation_key_agreement - Public key of different curve
[Check 7] Test psa_key_derivation_key_agreement - Pub key instead of Prv key
[Check 8] Test psa_key_derivation_key_agreement - Invalid handle
[Check 9] Test psa_key_derivation_key_agreement - Zero as handle

TEST RESULT: PASSED

******************************************

TEST: 220 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_output_bytes
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_output_bytes - HKDF
[Check 2] Test psa_key_derivation_output_bytes - optional salt
[Check 3] Test psa_key_derivation_output_bytes - capacity < output_length
[Check 4] Test psa_key_derivation_output_bytes - missing info
[Check 5] Test psa_key_derivation_output_bytes - missing salt/secret/info
[Check 6] Test psa_key_derivation_output_bytes - TLS12_PRF
[Check 7] Test psa_key_derivation_output_bytes - capacity < output_length
[Check 8] Test psa_key_derivation_output_bytes - missing seed/secret/label

TEST RESULT: PASSED

******************************************

TEST: 221 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_output_key
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_output_key - Key
[Check 2] Test psa_key_derivation_output_key - Info
[Check 3] Test psa_key_derivation_output_key - Salt
[Check 4] Test psa_key_derivation_output_key - Greater Capacity than available
[Check 5] Test psa_key_derivation_output_key - ECC Public key
[Check 6] Test psa_key_derivation_output_key -  ECC keypair (wrong key length)
[Check 7] Test psa_key_derivation_output_key -  RSA Public Key[Check 8] Test psa_key_derivation_output_key -  RSA keypair
[Check 9] Test psa_key_derivation_output_key - Invalid key size

TEST RESULT: PASSED

******************************************

TEST: 222 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_abort

TEST RESULT: PASSED

******************************************

TEST: 223 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_key_derivation_set_get_capacity
[Info] Executing tests from non-secure
[Check 1] Test psa_key_derivation_set_get_capacity - < operation's capacity
[Check 2] Test psa_key_derivation_set_get_capacity - = operation's capacity
[Check 3] Test psa_key_derivation_set_get_capacity - > operation's capacity
[Check 4] Test psa_key_derivation_set_get_capacity - unchanged capacity

TEST RESULT: PASSED

******************************************

TEST: 224 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_encrypt - CCM - AES - 13B nonce & 8B add data
[Check 2] Test psa_aead_encrypt - CCM - AES - 13B nonce & 32B add data
[Check 3] Test psa_aead_encrypt - CCM - AES - 24 bytes Tag length = 4
[Check 4] Test psa_aead_encrypt - CCM - AES - Zero additional data
[Check 5] Test psa_aead_encrypt - CCM - AES - Zero plaintext
[Check 6] Test psa_aead_encrypt - GCM - AES - 12B nonce & 12B add data
[Check 7] Test psa_aead_encrypt - Unsupported algorithm
[Check 8] Test psa_aead_encrypt - Invalid usage flag
[Check 9] Test psa_aead_encrypt - Invalid ciphertext_size
[Check 10] Test psa_aead_encrypt - Invalid nonce
[Check 11] Test psa_aead_encrypt - Invalid tag length 0

TEST RESULT: PASSED

******************************************

TEST: 225 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_decrypt - CCM - AES - 13B nonce & 8B add data
[Check 2] Test psa_aead_decrypt - CCM - AES - 13B nonce & 32B add data
[Check 3] Test psa_aead_decrypt - CCM - AES - 24 bytes Tag length = 4
[Check 4] Test psa_aead_decrypt - CCM - AES - Zero additional data
[Check 5] Test psa_aead_decrypt - CCM - AES - Zero plaintext
[Check 6] Test psa_aead_decrypt - GCM - AES - 12B nonce & 12B add data
[Check 7] Test psa_aead_decrypt - Unsupported algorithm
[Check 8] Test psa_aead_decrypt - Invalid usage flag
[Check 9] Test psa_aead_decrypt - Invalid plaintext_size
[Check 10] Test psa_aead_decrypt - Invalid nonce
[Check 11] Test psa_aead_decrypt - Invalid cihpertext
[Check 12] Test psa_aead_decrypt - Invalid cihpertext_size
[Check 13] Test psa_aead_decrypt - Invalid tag length 0

TEST RESULT: PASSED

******************************************

TEST: 226 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_sign_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_sign_setup - HMAC - SHA256
[Check 2] Test psa_mac_sign_setup - CMAC - AES
[Check 3] Test psa_mac_sign_setup - Incompatible HMAC for CMAC
[Check 4] Test psa_mac_sign_setup - Invalid usage flag
[Check 5] Test psa_mac_sign_setup - Invalid key type
[Check 6] Test psa_mac_sign_setup - Truncated MAC too large
[Check 7] Test psa_mac_sign_setup - Truncated MAC too small
[Check 8] Test psa_mac_sign_setup - Unknown MAC algorithm
[Check 9] Test psa_mac_sign_setup - Bad algorithm (not a MAC algorithm)
[Check 10] Test psa_mac_sign_setup invalid key handle
[Check 11] Test psa_mac_sign_setup zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 227 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_update
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_update - HMAC - SHA256 - 64 Byte
[Check 2] Test psa_mac_update - CMAC - AES - 16 Byte
[Check 3] Test psa_mac_update - HMAC - SHA512 - 32 Byte
[Check 4] Test psa_mac_update - HMAC - SHA512 - Invalid operation state

TEST RESULT: PASSED

******************************************

TEST: 228 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_sign_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_sign_finish  - HMAC - SHA224
[Check 2] Test psa_mac_sign_finish  - HMAC - SHA256
[Check 3] Test psa_mac_sign_finish  - HMAC - SHA512
[Check 4] Test psa_mac_sign_finish  - HMAC - SHA224 - Truncated 8 Byte
[Check 5] Test psa_mac_sign_finish  - HMAC - SHA224 - Small output buffer
[Check 6] Test psa_mac_sign_finish  - HMAC - SHA224 - Invalid operation state
[Check 7] Test psa_mac_sign_finish  - CMAC - AES

TEST RESULT: PASSED

******************************************

TEST: 229 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify_setup - HMAC - SHA256
[Check 2] Test psa_mac_verify_setup - CMAC - AES
[Check 3] Test psa_mac_verify_setup - Incompatible HMAC for CMAC
[Check 4] Test psa_mac_verify_setup - Invalid usage flag
[Check 5] Test psa_mac_verify_setup - Invalid key type
[Check 6] Test psa_mac_verify_setup - Truncated MAC too large
[Check 7] Test psa_mac_verify_setup - Truncated MAC too small
[Check 8] Test psa_mac_verify_setup - Unknown MAC algorithm
[Check 9] Test psa_mac_verify_setup - Bad algorithm (not a MAC algorithm)
[Check 10] Test psa_mac_verify_setup invalid key handle
[Check 11] Test psa_mac_verify_setup zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 230 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify_finish - HMAC - SHA224
[Check 2] Test psa_mac_verify_finish - HMAC - SHA256
[Check 3] Test psa_mac_verify_finish - HMAC - SHA512
[Check 4] Test psa_mac_verify_finish - HMAC - SHA224 - Truncated 8 Byte
[Check 5] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid mac length
[Check 6] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid expected mac
[Check 7] Test psa_mac_verify_finish - HMAC - SHA224 - Invalid operation state
[Check 8] Test psa_mac_verify_finish - CMAC - AES

TEST RESULT: PASSED

******************************************

TEST: 231 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_abort - HMAC - SHA224
[Check 2] Test psa_mac_abort - HMAC - SHA224 - Truncated 8 Byte
[Check 3] Test psa_mac_abort - HMAC - SHA256
[Check 4] Test psa_mac_abort - HMAC - SHA512
[Check 5] Test psa_mac_abort - CMAC - AES
[Check 6] Test psa_mac_sign_finish after calling psa_mac_abort

TEST RESULT: PASSED

******************************************

TEST: 232 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_encrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_encrypt_setup 16 Byte AES
[Check 2] Test psa_cipher_encrypt_setup 24 Byte AES
[Check 3] Test psa_cipher_encrypt_setup 32 Byte AES
[Check 4] Test psa_cipher_encrypt_setup DES 64 bit key
[Check 5] Test psa_cipher_encrypt_setup Triple DES 2-Key
[Check 6] Test psa_cipher_encrypt_setup Triple DES 3-Key
[Check 7] Test psa_cipher_encrypt_setup 16 Byte raw data
[Check 8] Test psa_cipher_encrypt_setup - not a cipher algorithm
[Check 9] Test psa_cipher_encrypt_setup - unknown cipher algorithm
[Check 10] Test psa_cipher_encrypt_setup - incompatible key ARC4
[Check 11] Test psa_cipher_encrypt_setup - incorrect usage
[Check 12] Test psa_cipher_encrypt_setup - RSA public key
[Check 13] Test psa_cipher_encrypt_setup - RSA keypair
[Check 14] Test psa_cipher_encrypt_setup - EC Public key
[Check 15] Test psa_cipher_encrypt_setup - EC keypair
[Check 16] Test psa_cipher_encrypt_setup - Invalid key handle
[Check 17] Test psa_cipher_encrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 233 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_decrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_decrypt_setup 16 Byte AES
[Check 2] Test psa_cipher_decrypt_setup 24 Byte AES
[Check 3] Test psa_cipher_decrypt_setup 32 Byte AES
[Check 4] Test psa_cipher_decrypt_setup DES 64 bit key
[Check 5] Test psa_cipher_decrypt_setup Triple DES 2-Key
[Check 6] Test psa_cipher_decrypt_setup Triple DES 3-Key
[Check 7] Test psa_cipher_decrypt_setup 16 Byte raw data
[Check 8] Test psa_cipher_decrypt_setup - not a cipher algorithm
[Check 9] Test psa_cipher_decrypt_setup - unknown cipher algorithm
[Check 10] Test psa_cipher_decrypt_setup - incompatible key ARC4
[Check 11] Test psa_cipher_decrypt_setup - incorrect usage
[Check 12] Test psa_cipher_decrypt_setup - RSA public key
[Check 13] Test psa_cipher_decrypt_setup - RSA keypair
[Check 14] Test psa_cipher_decrypt_setup - EC Public key
[Check 15] Test psa_cipher_decrypt_setup - EC keypair
[Check 16] Test psa_cipher_decrypt_setup - Invalid key handle
[Check 17] Test psa_cipher_decrypt_setup - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 234 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_generate_iv
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_generate_iv 16 Byte AES
[Check 2] Test psa_cipher_generate_iv 24 Byte AES
[Check 3] Test psa_cipher_generate_iv 32 Byte AES
[Check 4] Test psa_cipher_generate_iv DES 64 bit key
[Check 5] Test psa_cipher_generate_iv DES 2-Key
[Check 6] Test psa_cipher_generate_iv DES 3-Key
[Check 7] Test psa_cipher_generate_iv AES - small iv buffer
[Check 8] Test psa_cipher_generate_iv DES - small iv buffer

TEST RESULT: PASSED

******************************************

TEST: 235 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_set_iv
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_set_iv 16 Byte AES
[Check 2] Test psa_cipher_set_iv 24 Byte AES
[Check 3] Test psa_cipher_set_iv 32 Byte AES
[Check 4] Test psa_cipher_set_iv DES 64 bit key
[Check 5] Test psa_cipher_set_iv DES 2-Key
[Check 6] Test psa_cipher_set_iv DES 3-Key
[Check 7] Test psa_cipher_set_iv AES - small iv buffer
[Check 8] Test psa_cipher_set_iv DES - small iv buffer
[Check 9] Test psa_cipher_set_iv AES - large iv buffer
[Check 10] Test psa_cipher_set_iv DES - large iv buffer

TEST RESULT: PASSED

******************************************

TEST: 236 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_update
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_update - Encrypt - AES CBC_NO_PADDING (Short in)
[Check 3] Test psa_cipher_update - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_update - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_update - Encrypt - AES CTR
[Check 6] Test psa_cipher_update - Encrypt - DES CBC (nopad)
[Check 7] Test psa_cipher_update - Encrypt - 2-key 3DE -CBC (nopad)
[Check 8] Test psa_cipher_update - Encrypt - 3-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_update - Encrypt - small output buffer size
[Check 10] Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING
[Check 11] Test psa_cipher_update - Decrypt - AES CBC_NO_PADDING (Short in)
[Check 12] Test psa_cipher_update - Decrypt - AES CBC_PKCS7
[Check 13] Test psa_cipher_update - Decrypt - AES CBC_PKCS7 (Short input)
[Check 14] Test psa_cipher_update - Decrypt - AES CTR
[Check 15] Test psa_cipher_update - Decrypt - DES CBC (nopad)
[Check 16] Test psa_cipher_update - Decrypt - 2-key 3DE -CBC (nopad)
[Check 17] Test psa_cipher_update - Decrypt - 3-key 3DE -CBC (nopad)
[Check 18] Test psa_cipher_update - Decrypt - small output buffer size
[Check 19] Test psa_cipher_update without cipher setup

TEST RESULT: PASSED

******************************************

TEST: 237 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_finish - Encrypt - AES CBC_NO_PADDING (Short in)
[Check 3] Test psa_cipher_finish - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_finish - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_finish - Encrypt - AES CTR
[Check 6] Test psa_cipher_finish - Encrypt - AES CTR (short input)
[Check 7] Test psa_cipher_finish - Encrypt - DES CBC (nopad)
[Check 8] Test psa_cipher_finish - Encrypt - 2-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_finish - Encrypt - 3-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_finish - Encrypt - small output buffer size
[Check 11] Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING
[Check 12] Test psa_cipher_finish - Decrypt - AES CBC_NO_PADDING (Short in)
[Check 13] Test psa_cipher_update - Decrypt - AES CBC_PKCS7
[Check 14] Test psa_cipher_finish - Decrypt - AES CBC_PKCS7 (Short input)
[Check 15] Test psa_cipher_finish - Decrypt - AES CTR
[Check 16] Test psa_cipher_finish - Decrypt - AES CTR (short input)
[Check 17] Test psa_cipher_finish - Decrypt - DES CBC (nopad)
[Check 18] Test psa_cipher_finish - Decrypt - 2-key 3DE -CBC (nopad)
[Check 19] Test psa_cipher_finish - Decrypt - 3-key 3DE -CBC (nopad)

TEST RESULT: PASSED

******************************************

TEST: 238 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_abort - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_abort - Encrypt - AES CBC_PKCS7
[Check 3] Test psa_cipher_abort - Encrypt - AES CTR
[Check 4] Test psa_cipher_abort - Encrypt - DES CBC (nopad)
[Check 5] Test psa_cipher_abort - Encrypt - 2-key 3DE -CBC (nopad)
[Check 6] Test psa_cipher_abort - Encrypt - 3-key 3DE -CBC (nopad)
[Check 7] Test psa_cipher_abort - Decrypt - AES CBC_NO_PADDING
[Check 8] Test psa_cipher_abort - Decrypt - AES CBC_PKCS7
[Check 9] Test psa_cipher_abort - Decrypt - AES CTR
[Check 10] Test psa_cipher_abort - Decrypt - DES CBC (nopad)
[Check 11] Test psa_cipher_abort - Decrypt - 2-key 3DE -CBC (nopad)
[Check 12] Test psa_cipher_abort - Decrypt - 3-key 3DE -CBC (nopad)
[Check 13] Test psa_cipher_update after psa_cipher_abort should fail

TEST RESULT: PASSED

******************************************

TEST: 239 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_asymmetric_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_asymmetric_encrypt - RSA PKCS1V15
[Check 2] Test psa_asymmetric_encrypt - RSA KEY_PAIR PKCS1V15
[Check 3] Test psa_asymmetric_encrypt - RSA OAEP SHA256
[Check 4] Test psa_asymmetric_encrypt - RSA OAEP SHA256 with label
[Check 5] Test psa_asymmetric_encrypt - RSA KEY_PAIR OAEP SHA256
[Check 6] Test psa_asymmetric_encrypt - RSA KEY_PAIR OAEP SHA256 with label
[Check 7] Test psa_asymmetric_encrypt - Small output buffer
[Check 8] Test psa_asymmetric_encrypt - Invalid algorithm
[Check 9] Test psa_asymmetric_encrypt - Invalid key type
[Check 10] Test psa_asymmetric_encrypt - Invalid usage
[Check 11] Test psa_asymmetric_encrypt - RSA PKCS1V15 - Salt
[Check 12] Test psa_asymmetric_encrypt - ECC public key
[Check 13] Test psa_asymmetric_encrypt - Invalid key handle
[Check 14] Test psa_asymmetric_encrypt - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 240 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_asymmetric_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_asymmetric_decrypt - RSA KEY_PAIR PKCS1V15
[Check 2] Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256
[Check 3] Test psa_asymmetric_decrypt - RSA KEY_PAIR OAEP SHA256 with label
[Check 4] Test psa_asymmetric_decrypt - Invalid key type (RSA public key)
[Check 5] Test psa_asymmetric_decrypt - Small output buffer
[Check 6] Test psa_asymmetric_decrypt - Invalid algorithm
[Check 7] Test psa_asymmetric_decrypt - Invalid key type (AES Key)
[Check 8] Test psa_asymmetric_decrypt - Invalid usage
[Check 9] Test psa_asymmetric_decrypt - RSA PKCS1V15 - Salt
[Check 10] Test psa_asymmetric_decrypt - Invalid key handle
[Check 11] Test psa_asymmetric_decrypt - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 241 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_sign_hash
[Info] Executing tests from non-secure
[Check 1] Test psa_sign_hash - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_sign_hash - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 3] Test psa_sign_hash - ECDSA SECP256R1 SHA-256
[Check 4] Test psa_sign_hash - Invalid key type (RSA public key)
[Check 5] Test psa_sign_hash - Small output buffer
[Check 6] Test psa_sign_hash - Invalid algorithm
[Check 7] Test psa_sign_hash - Invalid key type (AES Key)
[Check 8] Test psa_sign_hash - Invalid usage
[Check 9] Test psa_sign_hash - Wrong hash size
[Check 10] Test psa_sign_hash - Invalid key handle
[Check 11] Test psa_sign_hash - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 242 | DESCRIPTION: Testing crypto asymmetric APIs | UT: psa_verify_hash
[Info] Executing tests from non-secure
[Check 1] Test psa_verify_hash - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_verify_hash - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 3] Test psa_verify_hash - ECDSA KEY_PAIR SECP256R1 SHA-256
[Check 4] Test psa_verify_hash - EC public key
[Check 5] Test psa_verify_hash - RSA public key
[Check 6] Test psa_verify_hash - Small output buffer
[Check 7] Test psa_verify_hash - Invalid algorithm
[Check 8] Test psa_verify_hash - Invalid key type (AES Key)
[Check 9] Test psa_verify_hash - Invalid usage
[Check 10] Test psa_verify_hash - Wrong hash size
[Check 11] Test psa_verify_hash - Wrong signature
[Check 12] Test psa_verify_hash - Wrong signature size
[Check 13] Test psa_verify_hash - Invalid key handle
[Check 14] Test psa_verify_hash - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 243 | DESCRIPTION: Testing crypto key derivation APIs | UT: psa_raw_key_agreement
[Info] Executing tests from non-secure
[Check 1] Test psa_raw_key_agreement - ECDH SECP256R1
[Check 2] Test psa_raw_key_agreement - Small buffer size
[Check 3] Test psa_raw_key_agreement - ECDH SECP384R1
[Check 4] Test psa_raw_key_agreement - Invalid usage
[Check 5] Test psa_raw_key_agreement - Unknown KDF
[Check 6] Test psa_raw_key_agreement - Not a key agreement alg
[Check 7] Test psa_raw_key_agreement - Public key on different curve
[Check 8] Test psa_raw_key_agreement - Public key instead of private key
[Check 9] Test psa_raw_key_agreement - Invalid key handle
[Check 10] Test psa_raw_key_agreement - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 244 | DESCRIPTION: Testing crypto key management APIs | UT: psa_copy_key
[Info] Executing tests from non-secure
[Check 1] Test psa_copy_key - 2048 RSA public key
[Check 2] Test psa_copy_key - RSA 2048 keypair
[Check 3] Test psa_copy_key - Incompatible target policy(source and target)
[Check 4] Test psa_copy_key - source key with no export usage
[Check 5] Test psa_copy_key - DES 64 bit key
[Check 6] Test psa_copy_key - Triple DES 2-Key
[Check 7] Test psa_copy_key - Triple DES 3-Key
[Check 8] Test psa_copy_key - EC Public key
[Check 9] Test psa_copy_key - EC keypair

TEST RESULT: PASSED

******************************************

TEST: 245 | DESCRIPTION: Testing crypto hash functions APIs | UT: psa_hash_clone
[Info] Executing tests from non-secure
[Check 1] Test psa_hash_clone - MD5 algorithm
[Check 2] Test psa_hash_clone - RIPEMD160 algorithm
[Check 3] Test psa_hash_clone - SHA1 algorithm
[Check 4] Test psa_hash_clone - SHA224 algorithm
[Check 5] Test psa_hash_clone - SHA256 algorithm
[Check 6] Test psa_hash_clone - SHA384 algorithm
[Check 7] Test psa_hash_clone - SHA512 algorithm
[Check 8] Test psa_hash_clone - from an inactive source operation
[Check 9] Test psa_hash_clone - on an active target operation

TEST RESULT: PASSED

******************************************

TEST: 246 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_compute
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_compute HMAC SHA 224
[Check 2] Test psa_mac_compute - Incompactible HMAC for CMAC
[Check 3] Test psa_mac_compute - Invalid usage
[Check 4] Test psa_mac_compute - truncated MAC too small
[Check 5] Test psa_mac_compute - truncated MAC too large
[Check 6] Test psa_mac_compute - bad algorithm (unknown MAC algorithm)
[Check 7] Test psa_mac_compute HMAC SHA 256
[Check 8] Test psa_mac_compute HMAC SHA 512
[Check 9] Test psa_mac_compute HMAC SHA 224 (truncated to 8 Byte)
[Check 10] Test psa_mac_compute CMAC AES 128
[Check 11] Test psa_mac_compute small size buffer
[Check 12] Test psa_mac_compute - Invalid key type

TEST RESULT: PASSED

******************************************

TEST: 247 | DESCRIPTION: Testing crypto MAC APIs | UT: psa_mac_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_mac_verify HMAC SHA 224
[Check 2] Test psa_mac_verify HMAC SHA 256
[Check 3] Test psa_mac_verify - Incompactible HMAC for CMAC
[Check 4] Test psa_mac_verify - Invalid usage
[Check 5] Test psa_mac_verify - Truncated MAC too large
[Check 6] Test psa_mac_verify - Truncated MAC too small
[Check 7] Test psa_mac_verify - bad algorithm (unknown MAC algorithm)
[Check 8] Test psa_mac_verify HMAC SHA 512
[Check 9] Test psa_mac_verify HMAC SHA 224 (truncated to 8 Byte)
[Check 10] Test psa_mac_verify CMAC AES 128
[Check 11] Test psa_mac_verify - Invalid key type
[Check 12] Test psa_mac_verify small size buffer
[Check 13] Test psa_mac_verify incorrect expected MAC

TEST RESULT: PASSED

******************************************

TEST: 248 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_encrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_encrypt - Encrypt - AES CBC_NO_PADDING (Short input)
[Check 3] Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7
[Check 4] Test psa_cipher_encrypt - Encrypt - AES CBC_PKCS7 (Short input)
[Check 5] Test psa_cipher_encrypt - Encrypt - AES CTR
[Check 6] Test psa_cipher_encrypt - Encrypt - AES CTR (short input)
[Check 7] Test psa_cipher_encrypt - Encrypt - DES CBC (nopad)
[Check 8] Test psa_cipher_encrypt - Encrypt - 2-key 3DE -CBC (nopad)
[Check 9] Test psa_cipher_encrypt - Encrypt - 3-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_encrypt - small output buffer size
[Check 11] Test psa_cipher_encrypt - Decrypt - AES CBC_NO_PADDING

TEST RESULT: PASSED

******************************************

TEST: 249 | DESCRIPTION: Testing crypto symmetric cipher APIs | UT: psa_cipher_decrypt
[Info] Executing tests from non-secure
[Check 1] Test psa_cipher_decrypt - Encrypt - AES CBC_NO_PADDING
[Check 2] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING
[Check 3] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING (Short input)
[Check 4] Test psa_cipher_decrypt - Decrypt - AES CBC_NO_PADDING
[Check 5] Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7
[Check 6] Test psa_cipher_decrypt - Decrypt - AES CBC_PKCS7 (Short input)
[Check 7] Test psa_cipher_decrypt - Decrypt - AES CTR
[Check 8] Test psa_cipher_decrypt - Decrypt - DES CBC (nopad)
[Check 9] Test psa_cipher_decrypt - Decrypt - 2-key 3DE -CBC (nopad)
[Check 10] Test psa_cipher_decrypt - 3-key 3DE -CBC (nopad)

TEST RESULT: PASSED

******************************************

TEST: 250 | DESCRIPTION: Testing crypto key management APIs | UT: psa_sign_message
[Info] Executing tests from non-secure
[Check 1] Test psa_sign_message - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_sign_message - ECDSA SECP256R1 SHA-256
[Check 3] Test psa_sign_message - Invalid key type (RSA public key)
[Check 4] Test psa_sign_message - Small output buffer
[Check 5] Test psa_sign_message - Invalid algorithm
[Check 6] Test psa_sign_message - Invalid key type (AES Key)
[Check 7] Test psa_sign_message - Invalid usage
[Check 8] Test psa_sign_message - Mismatch key type and Algorithm
[Check 9] Test psa_sign_message - Alg mismatch in key and API call
[Check 10] Test psa_sign_message - Invalid key handle
[Check 11] Test psa_sign_message - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 251 | DESCRIPTION: Testing crypto key management APIs | UT: psa_verify_message
[Info] Executing tests from non-secure
[Check 1] Test psa_verify_message - RSA KEY_PAIR PKCS1V15 RAW
[Check 2] Test psa_verify_message - RSA Public Key PKCS1V15 RAW
[Check 3] Test psa_verify_message - RSA KEY_PAIR PKCS1V15 SHA-256
[Check 4] Test psa_verify_message - ECDSA KEY_PAIR SECP256R1 SHA-256
[Check 5] Test psa_verify_message - ECDSA Public Key SECP256R1 SHA-256
[Check 6] Test psa_verify_message - Small output buffer
[Check 7] Test psa_verify_message - Invalid algorithm
[Check 8] Test psa_verify_message - Invalid key type (AES Key)
[Check 9] Test psa_verify_message - Invalid usage
[Check 10] Test psa_verify_message - Wrong message size
[Check 11] Test psa_verify_message - Wrong signature
[Check 12] Test psa_verify_message - Wrong signature size
[Check 13] Test psa_verify_message - Invalid key handle
[Check 14] Test psa_verify_message - Zero as key handle

TEST RESULT: PASSED

******************************************

TEST: 252 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_encrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_encrypt_setup - CCM - AES
[Check 2] Test psa_aead_encrypt_setup - CCM - AES - Tag length = 4
[Check 3] Test psa_aead_encrypt_setup - CCM - AES - Mismatched tag length
[Check 4] Test psa_aead_encrypt_setup - CCM - AES - Default Tag length
[Check 5] Test psa_aead_encrypt_setup - GCM - AES
[Check 6] Test psa_aead_encrypt_setup - CCM - DES Invalid key
[Check 7] Test psa_aead_encrypt_setup - Invalid usage flag

TEST RESULT: PASSED

******************************************

TEST: 253 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_decrypt_setup
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_decrypt_setup - CCM - AES
[Check 2] Test psa_aead_decrypt_setup - CCM - AES - Tag length = 4
[Check 3] Test psa_aead_decrypt_setup - CCM - AES - Mismatched tag length
[Check 4] Test psa_aead_decrypt_setup - CCM - AES - Default Tag length
[Check 5] Test psa_aead_decrypt_setup - GCM - AES
[Check 6] Test psa_aead_decrypt_setup - CCM - DES Invalid key
[Check 7] Test psa_aead_decrypt_setup - Invalid usage flag

TEST RESULT: PASSED

******************************************

TEST: 254 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_generate_nonce
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_generate_nonce - CCM
[Check 2] Test psa_aead_generate_nonce - CCM - Tag length = 4
[Check 3] Test psa_aead_generate_nonce - CCM - Small buffer size
[Check 4] Test psa_aead_generate_nonce - CCM - Uninitialized operation
[Check 5] Test psa_aead_generate_nonce - CCM - Decrypt operation
[Check 6] Test psa_aead_generate_nonce - GCM
[Check 7] Test psa_aead_generate_nonce - GCM - Decrypt operation

TEST RESULT: PASSED

******************************************

TEST: 255 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_set_nonce
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_set_nonce - Encrypt - CCM
[Check 2] Test psa_aead_set_nonce - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_set_nonce - Encrypt - CCM - Small nonce size
[Check 4] Test psa_aead_set_nonce - Encrypt - CCM - Large nonce size
[Check 5] Test psa_aead_set_nonce - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_set_nonce - Encrypt - GCM
[Check 7] Test psa_aead_set_nonce - Decrypt - CCM
[Check 8] Test psa_aead_set_nonce - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_set_nonce - Decrypt - CCM - Small nonce size
[Check 10] Test psa_aead_set_nonce - Decrypt - CCM - Large nonce size
[Check 11] Test psa_aead_set_nonce - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_set_nonce - Decrypt - GCM

TEST RESULT: PASSED

******************************************

TEST: 256 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_set_lengths
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_set_lengths - Encrypt - CCM
[Check 2] Test psa_aead_set_lengths - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_set_lengths - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_set_lengths - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_set_lengths - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_set_lengths - Encrypt - GCM
[Check 7] Test psa_aead_set_lengths - Decrypt - CCM
[Check 8] Test psa_aead_set_lengths - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_set_lengths - Decrypt - CCM - Zero ad_length
[Check 10] Test psa_aead_set_lengths - Decrypt - CCM - Zero plaintext_length
[Check 11] Test psa_aead_set_lengths - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_set_lengths - Decrypt - GCM

TEST RESULT: PASSED

******************************************

TEST: 257 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_update_ad
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_update_ad - Encrypt - CCM
[Check 2] Test psa_aead_update_ad - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_update_ad - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_update_ad - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_update_ad - Encrypt - CCM - Invalid operation state
[Check 6] Test psa_aead_update_ad - Encrypt - CCM - Overflow input length
[Check 7] Test psa_aead_update_ad - Decrypt - CCM
[Check 8] Test psa_aead_update_ad - Decrypt - CCM - Tag length = 4
[Check 9] Test psa_aead_update_ad - Decrypt - CCM - Zero ad_length
[Check 10] Test psa_aead_update_ad - Decrypt - CCM - Zero plaintext_length
[Check 11] Test psa_aead_update_ad - Decrypt - CCM - Invalid operation state
[Check 12] Test psa_aead_update_ad - Decrypt - CCM - Overflow input length

TEST RESULT: PASSED

******************************************

TEST: 258 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_update
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_update - Encrypt - CCM
[Check 2] Test psa_aead_update - Encrypt - CCM - Tag length = 4
[Check 3] Test psa_aead_update - Encrypt - CCM - Zero ad_length
[Check 4] Test psa_aead_update - Encrypt - CCM - Zero plaintext_length
[Check 5] Test psa_aead_update - Encrypt - CCM - Small buffer size
[Check 6] Test psa_aead_update - Encrypt - CCM - Less add data than specified
[Check 7] Test psa_aead_update - Encrypt - CCM - Overflow input length
[Check 8] Test psa_aead_update - Encrypt - CCM - Invalid operation state
[Check 9] Test psa_aead_update - Decrypt - CCM
[Check 10] Test psa_aead_update - Decrypt - CCM - Tag length = 4
[Check 11] Test psa_aead_update - Decrypt - CCM - Zero ad_length
[Check 12] Test psa_aead_update - Decrypt - CCM - Zero plaintext_length
[Check 13] Test psa_aead_update - Decrypt - CCM - Small buffer size
[Check 14] Test psa_aead_update - Decrypt - Less add data than specified
[Check 15] Test psa_aead_update - Decrypt - CCM - Overflow input length
[Check 16] Test psa_aead_update - Decrypt - CCM - Invalid operation state

TEST RESULT: PASSED

******************************************

TEST: 259 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_finish
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_finish - AES-CCM
[Check 2] Test psa_aead_finish - AES-CCM 24 bytes Tag length = 4
[Check 3] Test psa_aead_finish - Small buffer size
[Check 4] Test psa_aead_finish - Input length is less than plaintext length
[Check 5] Test psa_aead_finish - GCM - 16B AES - 12B Nonce & 12B additional data

TEST RESULT: PASSED

******************************************

TEST: 260 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_abort
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_abort - Encrypt - CCM - AES
[Check 2] Test psa_aead_abort - Encrypt - GCM - AES
[Check 3] Test psa_aead_abort - Decrypt - CCM - AES
[Check 4] Test psa_aead_abort - Decrypt - GCM - AES
[Check 5] Test psa_aead_abort with all initializations

TEST RESULT: PASSED

******************************************

TEST: 261 | DESCRIPTION: Testing crypto AEAD APIs | UT: psa_aead_verify
[Info] Executing tests from non-secure
[Check 1] Test psa_aead_verify - AES-CCM
[Check 2] Test psa_aead_verify - AES-CCM 24 bytes Tag length = 4
[Check 3] Test psa_aead_verify - Small buffer size
[Check 4] Test psa_aead_verify - Input length is less than plaintext length
[Check 5] Test psa_aead_verify - GCM - 16B AES - 12B Nounce & 12B addi data

TEST RESULT: PASSED

******************************************

************ Crypto Suite Report **********
TOTAL TESTS     : 61
TOTAL PASSED    : 61
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-iat-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-iat-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Attestation Suite
******************************************

TEST: 601 | DESCRIPTION: Testing attestation initial attestation APIs | UT: psa_initial_attestation
[Info] Executing tests from non-secure
[Check 1] Test psa_initial_attestation_get_token with Challenge 32
[Check 2] Test psa_initial_attestation_get_token with Challenge 48
[Check 3] Test psa_initial_attestation_get_token with Challenge 64
[Check 4] Test psa_initial_attestation_get_token with zero challenge size
[Check 5] Test psa_initial_attestation_get_token with small challenge size
[Check 6] Test psa_initial_attestation_get_token with invalid challenge size
[Check 7] Test psa_initial_attestation_get_token with large challenge size
[  171.857617] Arm TSTEE: invoke_func rpc status: -6
call():229 failed to invoke command: 22
[Check 8] Test psa_initial_attestation_get_token with zero as token size
[Check 9] Test psa_initial_attestation_get_token with small token size
[Check 10] Test psa_initial_attestation_get_token_size with Challenge 32
[Check 11] Test psa_initial_attestation_get_token_size with Challenge 48
[Check 12] Test psa_initial_attestation_get_token_size with Challenge 64
[Check 13] Test psa_initial_attestation_get_token_size with zero challenge size
[Check 14] Test psa_initial_attestation_get_token_size with small challenge size
[Check 15] Test psa_initial_attestation_get_token_size with invalid challenge size
[Check 16] Test psa_initial_attestation_get_token_size with large challenge size

TEST RESULT: PASSED

******************************************

************ Attestation Suite Report **********
TOTAL TESTS     : 1
TOTAL PASSED    : 1
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-its-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-its-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Storage Suite
******************************************

TEST: 401 | DESCRIPTION: UID not found check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call get API for UID 6 which is not set
[Check 2] Call get_info API for UID 6 which is not set
[Check 3] Call remove API for UID 6 which is not set
[Check 4] Call get API for UID 6 which is removed
[Check 5] Call get_info API for UID 6 which is removed
[Check 6] Call remove API for UID 6 which is removed
Set storage for UID 6
[Check 7] Call get API for different UID 5
[Check 8] Call get_info API for different UID 5
[Check 9] Call remove API for different UID 5

TEST RESULT: PASSED

******************************************

TEST: 402 | DESCRIPTION: Write once error check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Update the flag of UID 1 with WRITE_ONCE flag
[Check 2] Try to remove the UID 1 having WRITE_ONCE flag
[Check 3] Create a new UID 2 with WRITE_ONCE flag
[Check 4] Try to remove the UID 2 having WRITE_ONCE flag
[Check 5] Try to change the length of write_once UID 2
[Check 6] Check UID removal still fails
[Check 7] Try to change the WRITE_ONCE flag to None for UID 2
[Check 8] Check UID removal still fails

TEST RESULT: PASSED

******************************************

TEST: 403 | DESCRIPTION: Insufficient space check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Overload storage space
UID 13 set failed due to insufficient space
Remove all registered UIDs
[Check 2] Overload storage again to verify all previous UID removed
UID 13 set failed due to insufficient space
Remove all registered UIDs

TEST RESULT: PASSED

******************************************

TEST: 404 | DESCRIPTION: Data Consistency check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with reduced length - TEST_BUFF_SIZE/2
[Check 2] Call get API with default length - TEST_BUFF_SIZE

TEST RESULT: PASSED

******************************************

TEST: 405 | DESCRIPTION: Success scenarios check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Set UID with data length zero and call storage APIs
[Check 2] Resetting the length check

TEST RESULT: PASSED

******************************************

TEST: 406 | DESCRIPTION: Check for storage create flags | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with flag - PSA_STORAGE_FLAG_NONE
[Check 2] Call set API with flag - PSA_STORAGE_FLAG_NO_CONFIDENTIALITY
[Check 3] Call set API with flag - PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION

TEST RESULT: PASSED

******************************************

TEST: 407 | DESCRIPTION: Incorrect Size check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
Create a valid Storage - TEST_BUFF_SIZE/2
Increase the length of storage - TEST_BUFF_SIZE
[Check 1] Call get API with old length - TEST_BUFF_SIZE/2
[Check 2] Call get API with old length - TEST_BUFF_SIZE/4
Decrease the length of storage - TEST_BUFF_SIZE/4
[Check 3] Call get API with old length - TEST_BUFF_SIZE/2
[Check 4] Call get API with old length - TEST_BUFF_SIZE
[Check 5] Call get API with valid length - TEST_BUFF_SIZE/4

TEST RESULT: PASSED

******************************************

TEST: 408 | DESCRIPTION: Invalid offset check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Try to access data with varying valid offset
[Check 2] Try to access data with varying invalid offset

TEST RESULT: PASSED

******************************************

TEST: 409 | DESCRIPTION: Invalid Arguments check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Call set API with NULL pointer and data length 0
[Check 2] Call get API with NULL read buffer and data length 0
[Check 3] Remove the UID
[Check 4] Call get_info API to verify UID removed
[Check 5] Create UID with zero data_len and valid write buffer
[Check 8] Call get API with NULL read buffer and data length 0
[Check 9] Increase the length

TEST RESULT: PASSED

******************************************

TEST: 410 | DESCRIPTION: UID value zero check | UT: ITS
[Info] Executing tests from non-secure

[Info] Executing ITS tests
[Check 1] Creating storage with UID 0 should fail
[Check 2] Get_info for UID 0 should fail
[Check 3] Removing storage with UID 0 should fail

TEST RESULT: PASSED

******************************************

************ Storage Suite Report **********
TOTAL TESTS     : 10
TOTAL PASSED    : 10
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 0
******************************************

Entering standby..

#echo

psa-ps-api-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/psa-ps-api-test

***** PSA Architecture Test Suite - Version 1.4 *****

Running.. Storage Suite
******************************************

TEST: 401 | DESCRIPTION: UID not found check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call get API for UID 6 which is not set
[Check 2] Call get_info API for UID 6 which is not set
[Check 3] Call remove API for UID 6 which is not set
[Check 4] Call get API for UID 6 which is removed
[Check 5] Call get_info API for UID 6 which is removed
[Check 6] Call remove API for UID 6 which is removed
Set storage for UID 6
[Check 7] Call get API for different UID 5
[Check 8] Call get_info API for different UID 5
[Check 9] Call remove API for different UID 5

TEST RESULT: PASSED

******************************************

TEST: 402 | DESCRIPTION: Write once error check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Update the flag of UID 1 with WRITE_ONCE flag
[Check 2] Try to remove the UID 1 having WRITE_ONCE flag
[Check 3] Create a new UID 2 with WRITE_ONCE flag
[Check 4] Try to remove the UID 2 having WRITE_ONCE flag
[Check 5] Try to change the length of write_once UID 2
[Check 6] Check UID removal still fails
[Check 7] Try to change the WRITE_ONCE flag to None for UID 2
[Check 8] Check UID removal still fails

TEST RESULT: PASSED

******************************************

TEST: 403 | DESCRIPTION: Insufficient space check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Overload storage space
UID 13 set failed due to insufficient space
Remove all registered UIDs
[Check 2] Overload storage again to verify all previous UID removed
UID 13 set failed due to insufficient space
Remove all registered UIDs

TEST RESULT: PASSED

******************************************

TEST: 404 | DESCRIPTION: Data Consistency check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with reduced length - TEST_BUFF_SIZE/2
[Check 2] Call get API with default length - TEST_BUFF_SIZE

TEST RESULT: PASSED

******************************************

TEST: 405 | DESCRIPTION: Success scenarios check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Set UID with data length zero and call storage APIs
[Check 2] Resetting the length check

TEST RESULT: PASSED

******************************************

TEST: 406 | DESCRIPTION: Check for storage create flags | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with flag - PSA_STORAGE_FLAG_NONE
[Check 2] Call set API with flag - PSA_STORAGE_FLAG_NO_CONFIDENTIALITY
[Check 3] Call set API with flag - PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION

TEST RESULT: PASSED

******************************************

TEST: 407 | DESCRIPTION: Incorrect Size check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Create a valid Storage - TEST_BUFF_SIZE/2
Increase the length of storage - TEST_BUFF_SIZE
[Check 1] Call get API with old length - TEST_BUFF_SIZE/2
[Check 2] Call get API with old length - TEST_BUFF_SIZE/4
Decrease the length of storage - TEST_BUFF_SIZE/4
[Check 3] Call get API with old length - TEST_BUFF_SIZE/2
[Check 4] Call get API with old length - TEST_BUFF_SIZE
[Check 5] Call get API with valid length - TEST_BUFF_SIZE/4

TEST RESULT: PASSED

******************************************

TEST: 408 | DESCRIPTION: Invalid offset check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Try to access data with varying valid offset
[Check 2] Try to access data with varying invalid offset

TEST RESULT: PASSED

******************************************

TEST: 409 | DESCRIPTION: Invalid Arguments check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Call set API with NULL pointer and data length 0
[Check 2] Call get API with NULL read buffer and data length 0
[Check 3] Remove the UID
[Check 4] Call get_info API to verify UID removed
[Check 5] Create UID with zero data_len and valid write buffer
[Check 8] Call get API with NULL read buffer and data length 0
[Check 9] Increase the length

TEST RESULT: PASSED

******************************************

TEST: 410 | DESCRIPTION: UID value zero check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
[Check 1] Creating storage with UID 0 should fail
[Check 2] Get_info for UID 0 should fail
[Check 3] Removing storage with UID 0 should fail

TEST RESULT: PASSED

******************************************

TEST: 411 | DESCRIPTION: Optional APIs: UID not found check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 412 | DESCRIPTION: Optional APIs: Invalid arguments and offset invalid | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 413 | DESCRIPTION: Set_Extended and Create api : Success | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 414 | DESCRIPTION: Optional APIs not supported check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Optional PS APIs are not supported.
[Check 1] Call to create API should fail as API not supported
[Check 2] Create valid storage with set API
[Check 3] Call to set_extended API call should fail
[Check 4] Verify data is unchanged

TEST RESULT: PASSED

******************************************

TEST: 415 | DESCRIPTION: Create API write_once flag value check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs are not supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 416 | DESCRIPTION: Storage assest capacity modification check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs not are supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

TEST: 417 | DESCRIPTION: Storage assest capacity modification check | UT: PS
[Info] Executing tests from non-secure

[Info] Executing PS tests
Test Case skipped as Optional PS APIs not are supported.

TEST RESULT: SKIPPED (Skip Code=0x2b)

******************************************

************ Storage Suite Report **********
TOTAL TESTS     : 17
TOTAL PASSED    : 11
TOTAL SIM ERROR : 0
TOTAL FAILED    : 0
TOTAL SKIPPED   : 6
******************************************

Entering standby..

#echo

ts-demo

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install-btest/arm-linux/bin/ts-demo

Demonstrates use of trusted services from an application
---------------------------------------------------------
A client requests a set of crypto operations performed by
the Crypto service.  Key storage for persistent keys is
provided by the Secure Storage service via the ITS client.

Generating random bytes length: 1
	Operation successful
	Random bytes:
		6D
Generating random bytes length: 7
	Operation successful
	Random bytes:
		86 B6 EB D9 C6 21 EC
Generating random bytes length: 128
	Operation successful
	Random bytes:
		7D 44 49 8F E3 37 A6 20
		39 2E 95 FF 76 5C 48 1A
		CC 18 53 29 A0 99 59 D9
		3D CD C9 7D A7 95 04 17
		61 0E C8 1E 57 93 1C 1C
		1A BA 16 2F 35 07 47 CC
		7E A5 7C 10 E4 A9 F4 E5
		F5 2F 9D C1 96 1C D0 FC
		D7 8C E2 BB 41 70 91 9E
		5A 5B 3E 32 3D 6A AF 03
		58 05 D5 65 16 4F F1 8B
		85 89 6B 70 C4 E4 C4 8D
		E3 62 F2 FC 39 4B CD 53
		A4 AE 2A 4B B9 E2 58 F6
		56 14 5C 62 45 4C 00 7C
		C5 CB E4 41 0E 54 92 DA
Generating ECC signing key
	Operation successful
Signing message: "The quick brown fox" using key: 256
	Operation successful
	Signature bytes:
		9D F6 0B BF 9E 62 F5 36
		06 42 AB 59 73 29 FF A6
		CC 58 B2 E4 AC 9E E7 92
		3A 12 36 CA F3 42 96 54
		83 3B 04 55 03 EB 68 AC
		11 4A 7C 7B 37 78 4E E1
		0C 33 99 53 16 06 E6 05
		58 56 14 10 E3 72 CB B1
Verify signature using original message: "The quick brown fox"
	Operation successful
Verify signature using modified message: "!he quick brown fox"
	Successfully detected modified message
Signing message: "jumps over the lazy dog" using key: 256
	Operation successful
	Signature bytes:
		F5 39 92 A7 E5 40 ED 43
		FF AD D6 B5 AF 9B 8C 91
		C4 50 9A 0A D1 7B F0 B9
		27 D8 80 A7 25 06 1A 73
		E4 65 4C 0D AE B2 76 94
		02 3C DF 3F 9C 5A 38 76
		85 16 89 48 6A 79 4B 46
		F5 B6 35 E9 9E DC 5E 8B
Verify signature using original message: "jumps over the lazy dog"
	Operation successful
Verify signature using modified message: "!umps over the lazy dog"
	Successfully detected modified message
Generating RSA encryption key
	Operation successful
Encrypting message: "Top secret" using RSA key: 257
	Operation successful
	Encrypted message:
		32 60 8A 4F 50 C8 A8 9D
		4A 59 C4 AC CE 53 26 A2
		5B 7C EC 2D 35 45 4B 7E
		E5 24 91 28 24 FA C3 73
		10 2C D3 F5 30 AC AC 42
		58 AD E3 51 1B 08 C2 56
		D0 7F BF 48 82 64 44 3D
		6F 73 C0 6C 57 9F 9B A2
		13 6D F6 3D 21 8B 13 EF
		69 CB 19 F5 87 EB 10 34
		B7 60 6F 0C 7A DE 5B 99
		39 14 69 12 65 F7 1A 23
		4A F8 BD 86 04 36 5C 60
		AB 98 18 2E 65 27 C1 83
		88 5C 77 50 C7 72 41 20
		FB CF 52 A5 12 54 D4 71
Decrypting message using RSA key: 257
	Operation successful
	Decrypted message: "Top secret"
Exporting public key: 256
	Operation successful
	Public key bytes:
		04 36 D1 DE 75 26 4F E1
		A8 13 1F 8F 28 17 AB 79
		E4 0B 05 13 DD 93 CB CD
		A7 1F 83 F2 A7 51 0E 13
		0A 09 EC 0D DC FD 3E C5
		75 F4 DB 02 B3 57 B1 31
		C6 27 74 66 E6 8C 31 63
		4F 0A 1B 3B 86 2A 33 34
		7E
Destroying signing key: 256
	Operation successful
Destroying encryption key: 257
	Operation successful

#echo

Config 4: SmmGW

Build command

MEASURED_BOOT=n SPMC_TESTS=n TS_SMM_GATEWAY=y TS_UEFI_TESTS=y DEFAULT_SP_CONFIG=default-sp SP_PACKAGING_METHOD=fip;

Setup steps after boot

/mnt/host/out/linux-arm-ffa-user/load_module.sh

Test results

uefi-test

#
#LD_LIBRARY_PATH=/mnt/host/out/ts-install/arm-linux/lib /mnt/host/out/ts-install/arm-linux/bin/uefi-test -v
TEST(SmmVariableAttackTests, getCheckPropertyWithMaxSizeName) - 3445 ms
TEST(SmmVariableAttackTests, getCheckPropertyWithOversizeName) - 1340 ms
TEST(SmmVariableAttackTests, setCheckPropertyWithMaxSizeName) - 1359 ms
TEST(SmmVariableAttackTests, setCheckPropertyWithOversizeName) - 1300 ms
TEST(SmmVariableAttackTests, enumerateWithSizeMaxNameSize) - 5692 ms
TEST(SmmVariableAttackTests, enumerateWithOversizeName) - 1300 ms
TEST(SmmVariableAttackTests, setAndGetWithSizeMaxNameSize) - 2653 ms
TEST(SmmVariableAttackTests, setAndGetWithOversizeName) - 2791 ms
TEST(SmmVariableAttackTests, setWithSizeMaxNameSize) - 1301 ms
TEST(SmmVariableAttackTests, setWithOversizeName) - 1425 ms
TEST(SmmVariableAttackTests, setWithSizeMaxDataSize) - 1301 ms
TEST(SmmVariableAttackTests, setWithOversizeData) - 1327 ms
TEST(SmmVariableServiceTests, authenticationSignatureVerifyFailure) - 142806 ms
TEST(SmmVariableServiceTests, authenticationChangePK) - 52800 ms
TEST(SmmVariableServiceTests, authenticationDelete) - 130439 ms
TEST(SmmVariableServiceTests, authenticationSetAllKeys) - 172513 ms
TEST(SmmVariableServiceTests, authenticationDisabled) - 19747 ms
TEST(SmmVariableServiceTests, checkMaxVariablePayload) - 2517 ms
TEST(SmmVariableServiceTests, setSizeConstraint) - 5841 ms
TEST(SmmVariableServiceTests, enumerateStoreContents) - 15137 ms
TEST(SmmVariableServiceTests, readOnlyConstraint) - 8988 ms
TEST(SmmVariableServiceTests, runtimeStateAccessControl) - 16252 ms
TEST(SmmVariableServiceTests, getVarSizeNv) - 8457 ms
TEST(SmmVariableServiceTests, getVarSize) - 5555 ms
TEST(SmmVariableServiceTests, setAndGetNv) - 13189 ms
TEST(SmmVariableServiceTests, setAndGet) - 6841 ms

OK (26 tests, 26 ran, 204 checks, 0 ignored, 0 filtered out, 634544 ms)


#echo