aboutsummaryrefslogtreecommitdiff
path: root/components/service/attestation/client/provision/attest_provision_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'components/service/attestation/client/provision/attest_provision_client.c')
-rw-r--r--components/service/attestation/client/provision/attest_provision_client.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/components/service/attestation/client/provision/attest_provision_client.c b/components/service/attestation/client/provision/attest_provision_client.c
index 9209cc1ba..5aca1307d 100644
--- a/components/service/attestation/client/provision/attest_provision_client.c
+++ b/components/service/attestation/client/provision/attest_provision_client.c
@@ -146,3 +146,31 @@ psa_status_t attest_provision_import_iak(
return psa_status;
}
+
+psa_status_t attest_provision_iak_exists(void)
+{
+ psa_status_t psa_status = PSA_ERROR_GENERIC_ERROR;
+ rpc_call_handle call_handle;
+ uint8_t *req_buf;
+
+ call_handle = rpc_caller_begin(instance.caller, &req_buf, 0);
+
+ if (call_handle) {
+
+ uint8_t *resp_buf;
+ size_t resp_len;
+ int opstatus;
+
+ instance.rpc_status = rpc_caller_invoke(instance.caller, call_handle,
+ TS_ATTESTATION_OPCODE_IAK_EXISTS, &opstatus, &resp_buf, &resp_len);
+
+ if (instance.rpc_status == TS_RPC_CALL_ACCEPTED) {
+
+ psa_status = opstatus;
+ }
+
+ rpc_caller_end(instance.caller, call_handle);
+ }
+
+ return psa_status;
+}