Merge pull request #14815 from LDong-Arm/test_psa_k64f_k66f

Enable PSA tests on K64F/K66F and fix missing PSA Crypto init in TLSSocketWrapper
pull/14849/head
Jaeden Amero 2021-06-30 15:20:05 +01:00 committed by GitHub
commit 270ea5deb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 81 additions and 18 deletions

View File

@ -21,7 +21,9 @@
#ifndef __PLATFORM_MBED__H__
#define __PLATFORM_MBED__H__
#if (defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA) && defined(MBEDTLS_ENTROPY_NV_SEED))
#if defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA)
#if defined(MBEDTLS_ENTROPY_NV_SEED)
#include "default_random_seed.h"
@ -37,7 +39,18 @@
* MBEDTLS_ENTROPY_NV_SEED is enabled. */
#define MBEDTLS_PSA_INJECT_ENTROPY
#endif // (defined(FEATURE_PSA) && defined(MBEDTLS_ENTROPY_NV_SEED))
#endif // defined(MBEDTLS_ENTROPY_NV_SEED)
/* The following configurations are a needed for Mbed Crypto submodule.
* They are related to the persistent key storage feature.
*/
#define MBEDTLS_PSA_CRYPTO_STORAGE_C
#define MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
#undef MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#endif // defined(FEATURE_EXPERIMENTAL_API) && defined(FEATURE_PSA)
#if DEVICE_TRNG
#if !defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
@ -49,17 +62,6 @@
#include "mbedtls_device.h"
#endif
#if defined(FEATURE_PSA)
/* The following configurations are a needed for Mbed Crypto submodule.
* They are related to the persistent key storage feature.
*/
#define MBEDTLS_PSA_CRYPTO_STORAGE_C
#define MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
#undef MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#endif
/*
* MBEDTLS_ERR_PLATFORM_HW_FAILED is deprecated and should not be used.
*/

View File

@ -28,6 +28,10 @@
#include "mbed_error.h"
#include "rtos/Kernel.h"
#if defined(MBEDTLS_USE_PSA_CRYPTO)
#include "psa/crypto.h"
#endif
// This class requires Mbed TLS SSL/TLS client code
#if defined(MBEDTLS_SSL_CLI_C)
@ -41,6 +45,16 @@ TLSSocketWrapper::TLSSocketWrapper(Socket *transport, const char *hostname, cont
_clicert_allocated(false),
_ssl_conf_allocated(false)
{
#if defined(MBEDTLS_USE_PSA_CRYPTO)
// It is safe to call psa_crypto_init() any number of times as
// defined by the PSA Crypto API. There is no standard "deinit"
// function.
psa_status_t status = psa_crypto_init();
if (status != PSA_SUCCESS) {
tr_err("psa_crypto_init() failed (" PRIu32 ")", status);
}
#endif /* MBEDTLS_USE_PSA_CRYPTO */
#if defined(MBEDTLS_PLATFORM_C)
int ret = mbedtls_platform_setup(nullptr);
if (ret != 0) {

View File

@ -0,0 +1,37 @@
{
"config": {
"echo-server-addr" : {
"help" : "IP address of echo server",
"value" : "\"echo.mbedcloudtesting.com\""
},
"echo-server-port" : {
"help" : "Port of echo server",
"value" : "7"
},
"echo-server-discard-port" : {
"help" : "Discard port of echo server",
"value" : "9"
},
"echo-server-port-tls" : {
"help" : "Port of echo server for TLS",
"value" : "2007"
},
"echo-server-discard-port-tls" : {
"help" : "Discard port of echo server for TLS",
"value" : "2009"
},
"sim-blockdevice": {
"help": "Simulated block device, requires sufficient heap",
"macro_name": "MBED_TEST_SIM_BLOCKDEVICE",
"value": "HeapBlockDevice"
}
},
"target_overrides": {
"*": {
"target.network-default-interface-type": "ETHERNET",
"target.features_add": [
"EXPERIMENTAL_API"
]
}
}
}

View File

@ -1,7 +1,9 @@
{
"ETHERNET" : "EthernetInterface.json",
"EXPERIMENTAL": "experimental.json",
"HEAPBLOCKDEVICE": "HeapBlockDevice.json",
"HEAPBLOCKDEVICE_AND_ETHERNET": "HeapBlockDeviceAndEthernetInterface.json",
"HEAPBLOCKDEVICE_AND_ETHERNET_AND_EXPERIMENTAL": "HeapBlockDeviceAndEthernetAndExperimental.json",
"HEAPBLOCKDEVICE_AND_WIFI": "HeapBlockDeviceAndWifiInterface.json",
"ESP8266_WIFI" : "ESP8266Interface.json",
"ISM43362_WIFI" : "ISM43362Interface.json",

View File

@ -0,0 +1,9 @@
{
"target_overrides": {
"*": {
"target.features_add": [
"EXPERIMENTAL_API"
]
}
}
}

View File

@ -1,21 +1,20 @@
{
"K64F": {
"nsapi.socket-stats-enable": true,
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET_AND_EXPERIMENTAL",
"test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET", "NANOSTACK_MAC_TESTER", "ESP8266_WIFI", "ETHERNET"]
},
"K66F": {
"default_test_configuration": "EXPERIMENTAL"
},
"NUCLEO_F429ZI": {
"nsapi.socket-stats-enable": true,
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
"test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET", "NANOSTACK_MAC_TESTER"]
},
"DISCO_L475VG_IOT01A": {
"nsapi.socket-stats-enable": true,
"default_test_configuration": "NONE",
"test_configurations": ["ISM43362_WIFI"]
},
"DISCO_F413ZH": {
"nsapi.socket-stats-enable": true,
"default_test_configuration": "NONE",
"test_configurations": ["ISM43362_WIFI"]
},