# Overview

MicroEJ Foundation Library implementation: `security-1_9-testsuite`.

# Test suite Configuration
Setup the following system properties to override default values in the following tests.

Note: In PQT configuration file or in test suite properties add the prefix `microej.testsuite.properties.microej.java.property.` to the following properties:

### AESCipherTest Properties

For test `testMultiPartCipherAndResetOnDoFinalNoPadding`:
- `com.microej.security.test.cipher.transformation`: The default value is `AES/CTR/NoPadding`.
- `com.microej.security.test.cipher.key`: The default value is `ACD1DDB17E69A9A7C8158C38068DDBD621425E83AB2AE8A061713F994AB676DA`.
- `com.microej.security.test.cipher.iv`: The default value is `lCq77sYlhcLXGobTC6mqmg==`.
- `com.microej.security.test.cipher.plaintext`: The default value is `0102030405060708090A0B0C0D0E0F10`.
- `com.microej.security.test.cipher.ciphertext.onepass`: the expected ciphertext block when running the encryption using configured cipher transformation using configured key/iv on the configured plaintext. (defaults to `DEE3778CB54C83495C0FF5745067D99E`).
- `com.microej.security.test.cipher.ciphertext.twopass`: the expected ciphertext block when running a second block of encryption on the same configured plaintext. (defaults to `346C62B683745806F68E20775F7C3FD8`).
- `com.microej.security.test.cipher.ciphertext.threepass`: the expected ciphertext block when running a third block of encryption on the same configured plaintext. (defaults to `58EA9CB3CDDCC4471A56F3069FCF5910`).

### KeyPairGeneratorTest Properties

- `com.microej.security.test.keypairgen.ec.curves`: list of comma separated EC curve names supported by the platform. The default value is `secp224r1, secp256k1, secp384r1, secp521r1`.
- `com.microej.security.test.keypairgen.rsa.keysizes`: list of comma separated key sizes for RSA algorithm supported by the platform. The default value is `1024, 2048, 3072, 4096`.

### ExternalKeyStoreTest Properties

For properties description, see [ExternalKeyStoreTest.java](src/test/java/com/microej/security/test/ExternalKeyStoreTest.java).

- `com.microej.security.test.ExternalKeyStoreTest.keystore.type`
- `com.microej.security.test.ExternalKeyStoreTest.keystore.password`
- `com.microej.security.test.ExternalKeyStoreTest.keystore.size`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.extractable`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.protected.data`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.data`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.algorithm`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.alias`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.tmp.alias`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.password`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.signature.algorithm`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.signature.data`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.keyagreement.algorithm`
- `com.microej.security.test.ExternalKeyStoreTest.privatekey.keyagreement.secret`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.extractable`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.data`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.algorithm`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.alias`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.tmp.alias`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.password`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.cipher.transformation`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.cipher.payload`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.cipher.iv`
- `com.microej.security.test.ExternalKeyStoreTest.secretkey.cipher.encrypted`
- `com.microej.security.test.ExternalKeyStoreTest.certificate.data`
- `com.microej.security.test.ExternalKeyStoreTest.certificate.alias`
- `com.microej.security.test.ExternalKeyStoreTest.certificate.tmp.alias`
- `com.microej.security.test.ExternalKeyStoreTest.certificatechain.alias`
- `com.microej.security.test.ExternalKeyStoreTest.certificatechain.length`

# Usage 

Add the following line to your `module.ivy`:

	<dependency org="com.microej.pack.net" name="security-1_9-testsuite" rev="1.14.0"/>
	
# Requirements

This library requires the following Foundation Libraries:

	BON-1.4, EDC-1.3, SECURITY-1.9
	
# Dependencies

_All dependencies are retrieved transitively by MicroEJ Module Manager_.

# Source

N/A.

# Restrictions

None.

---

_Copyright 2018-2026 MicroEJ Corp. All rights reserved._  
_Use of this source code is governed by a BSD-style license that can be found with this software._  
