Use libpsa in platform-inspect

Currently the demo applications use libts and reference the needed
extra components. Instead of the original solution libpsa is used
to hide the extra dependencies.

Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
Change-Id: I29db7a600f7a8cfa22af8fd8e0bbc13ef39b45ad
diff --git a/components/app/platform-inspect/platform_inspect.cpp b/components/app/platform-inspect/platform_inspect.cpp
index 93c8f88..903e6a6 100644
--- a/components/app/platform-inspect/platform_inspect.cpp
+++ b/components/app/platform-inspect/platform_inspect.cpp
@@ -1,45 +1,52 @@
 /*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
 #include <cstdint>
 #include <cstdio>
+#include <service/attestation/reporter/dump/pretty/pretty_report_dump.h>
 #include <string>
 #include <vector>
-#include <psa/crypto.h>
-#include <service_locator.h>
-#include <service/attestation/reporter/dump/raw/raw_report_dump.h>
-#include <service/attestation/reporter/dump/pretty/pretty_report_dump.h>
+
 #include "attest_report_fetcher.h"
+#include "libpsa.h"
 
-int main(int argc, char *argv[])
+int main(void)
 {
-    int rval = -1;
+	psa_status_t psa_status = PSA_ERROR_GENERIC_ERROR;
+	int rval = -1;
+	std::string error_msg;
+	std::vector<uint8_t> attest_report;
 
-    psa_status_t psa_status = psa_crypto_init();
+	psa_status = libpsa_init_crypto_context("sn:trustedfirmware.org:crypto:0");
+	if (psa_status) {
+		printf("libpsa_init_crypto_context failed: %d\n", psa_status);
+		goto cleanup;
+	}
 
-    if (psa_status != PSA_SUCCESS) {
+	psa_status = libpsa_init_attestation_context("sn:trustedfirmware.org:attestation:0");
+	if (psa_status) {
+		printf("libpsa_init_crypto_context failed: %d\n", psa_status);
+		goto cleanup;
+	}
 
-        printf("psa_crypto_init failed: %d\n", psa_status);
-        return rval;
-    }
+	psa_status = psa_crypto_init();
+	if (psa_status) {
+		printf("psa_crypto_init failed: %d\n", psa_status);
+		goto cleanup;
+	}
 
-    service_locator_init();
+	/* Fetch platform info */
+	if (fetch_and_verify(attest_report, error_msg))
+		rval = pretty_report_dump(attest_report.data(), attest_report.size());
+	else
+		printf("%s\n", error_msg.c_str());
 
-    /* Fetch platform info */
-    std::string error_msg;
-    std::vector<uint8_t> attest_report;
+cleanup:
+	libpsa_deinit_crypto_context();
+	libpsa_deinit_attestation_context();
 
-    if (fetch_attest_report(attest_report, error_msg)) {
-
-        rval = pretty_report_dump(attest_report.data(), attest_report.size());
-    }
-    else {
-
-        printf("%s\n", error_msg.c_str());
-    }
-
-    return rval;
+	return rval;
 }