blob: 550a6e869d87e182e58a6b5b5078b6bcac3dcc13 [file] [log] [blame]
Valerio Setti66fb1c12024-05-10 06:51:16 +02001/* psasim test client */
Valerio Setti4f4ade92024-05-03 17:28:04 +02002
3/*
4 * Copyright The Mbed TLS Contributors
5 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6 */
7
Valerio Setti4f4ade92024-05-03 17:28:04 +02008#include <stdio.h>
Valerio Setti66fb1c12024-05-10 06:51:16 +02009#include <unistd.h>
Valerio Setti4f4ade92024-05-03 17:28:04 +020010
Valerio Setti66fb1c12024-05-10 06:51:16 +020011/* Includes from psasim */
12#include <client.h>
13#include <util.h>
14#include "psa_manifest/sid.h"
15#include "psa_functions_codes.h"
Valerio Setti4f4ade92024-05-03 17:28:04 +020016
Valerio Setti66fb1c12024-05-10 06:51:16 +020017/* Includes from mbedtls */
18#include "mbedtls/version.h"
19#include "psa/crypto.h"
Valerio Setti4f4ade92024-05-03 17:28:04 +020020
Valerio Setti66fb1c12024-05-10 06:51:16 +020021#define CLIENT_PRINT(fmt, ...) \
22 PRINT("Client: " fmt, ##__VA_ARGS__)
Valerio Setti4f4ade92024-05-03 17:28:04 +020023
Valerio Setti66fb1c12024-05-10 06:51:16 +020024int main()
Valerio Setti4f4ade92024-05-03 17:28:04 +020025{
Valerio Setti66fb1c12024-05-10 06:51:16 +020026 char mbedtls_version[18];
27 // psa_invec invecs[1];
28 // psa_outvec outvecs[1];
29 psa_status_t status;
Valerio Setti4f4ade92024-05-03 17:28:04 +020030
Valerio Setti66fb1c12024-05-10 06:51:16 +020031 mbedtls_version_get_string_full(mbedtls_version);
32 CLIENT_PRINT("%s", mbedtls_version);
33
34 CLIENT_PRINT("My PID: %d", getpid());
35
Valerio Setti400168c2024-05-10 12:31:41 +020036 CLIENT_PRINT("PSA version: %u", psa_version(PSA_SID_CRYPTO_SID));
37 psa_handle_t h = psa_connect(PSA_SID_CRYPTO_SID, 1);
Valerio Setti66fb1c12024-05-10 06:51:16 +020038
39 if (h < 0) {
40 CLIENT_PRINT("Couldn't connect %d", h);
41 return 1;
Valerio Setti4f4ade92024-05-03 17:28:04 +020042 }
Valerio Setti66fb1c12024-05-10 06:51:16 +020043
44 status = psa_call(h, PSA_CRYPTO_INIT, NULL, 0, NULL, 0);
45 CLIENT_PRINT("PSA_CRYPTO_INIT returned: %d", status);
46
47 CLIENT_PRINT("Closing handle");
48 psa_close(h);
49
50 if (status != PSA_SUCCESS) {
51 return 1;
52 }
Valerio Setti4f4ade92024-05-03 17:28:04 +020053 return 0;
54}