mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-26 15:08:51 +03:00
49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
/* psasim test client */
|
|
|
|
/*
|
|
* Copyright The Mbed TLS Contributors
|
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
*/
|
|
|
|
#include <psa/client.h>
|
|
#include "psa_manifest/sid.h"
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
int main()
|
|
{
|
|
|
|
const char *text = "FOOBARCOOL!!";
|
|
|
|
char output[100] = { 0 };
|
|
printf("My PID is %d\n", getpid());
|
|
|
|
printf("The version of the service is %u\n", psa_version(PSA_SID_SHA256_SID));
|
|
psa_handle_t h = psa_connect(PSA_SID_SHA256_SID, 1);
|
|
|
|
if (h < 0) {
|
|
printf("Couldn't connect %d\n", h);
|
|
return 1;
|
|
} else {
|
|
int type = 2;
|
|
puts("Calling!");
|
|
puts("Trying without invec");
|
|
printf("Answer to my call was %d (no invec)\n", psa_call(h, type, NULL, 0, NULL, 0));
|
|
psa_invec invecs[1];
|
|
psa_outvec outvecs[1];
|
|
invecs[0].base = text;
|
|
invecs[0].len = 24;
|
|
outvecs[0].base = output;
|
|
outvecs[0].len = 99;
|
|
|
|
printf("My iovec size should be %lu\n", invecs[0].len);
|
|
printf("Answer to my call was %d (with invec)\n", psa_call(h, type, invecs, 1, outvecs, 1));
|
|
printf("Here's the payload I recieved: %s\n", output);
|
|
printf("Apparently the server wrote %lu bytes in outvec %d\n", outvecs[0].len, 0);
|
|
puts("Closing handle");
|
|
psa_close(h);
|
|
}
|
|
|
|
return 0;
|
|
}
|