From 83d943940c62898e03d97bebf481d837aaccd367 Mon Sep 17 00:00:00 2001 From: Sascha Tommasone Date: Sat, 6 Jul 2024 17:50:09 +0200 Subject: [PATCH] [Assignment-7] add embedded_device_syntax; add .h --- 7-SGX_Hands-on/src/app/embedded_device.c | 11 +++++++++-- 7-SGX_Hands-on/src/app/embedded_device.h | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/7-SGX_Hands-on/src/app/embedded_device.c b/7-SGX_Hands-on/src/app/embedded_device.c index 1d6b4e0..8fd48fb 100644 --- a/7-SGX_Hands-on/src/app/embedded_device.c +++ b/7-SGX_Hands-on/src/app/embedded_device.c @@ -21,6 +21,13 @@ typedef struct { uint8_t *public_key_path; } embedded_device_args; +char *embedded_device_syntax(void) { + return + "embedded device (sim) mock up implementation of a embedded device\n" + " -ppub file path of the PEM encoded public key of the proxy\n" + " -firm path of to firmware binary\n"; +} + static EVP_PKEY *read_public_key(uint8_t *public_key_file_path, EVP_PKEY **key) { if(public_key_file == NULL) { fprintf(stderr, "public_key_file_path is a null pointer!\n"); @@ -60,7 +67,7 @@ static void hash_firmware(uint8_t *firmware_path, EVP_MD_CTX **ctx) { exit: fclose(fd); } -int main(int argc, char **argv) { +int handle_embedded_device(int argc, char **argv) { embedded_device_args args = { .firmware_path = NULL, .public_key_path = NULL @@ -71,7 +78,7 @@ int main(int argc, char **argv) { } for(int i = 1; i < argc; i += 2) { - if((strcmp(argv[i], "-pub") == 0) && (argc - i >= 2)) { + if((strcmp(argv[i], "-ppub") == 0) && (argc - i >= 2)) { args.public_key_path = argv[i+1]; } else if((strcmp(argv[i], "-firm") == 0) && (argc - i >= 2)) { args.firmware_path = argv[i+1]; diff --git a/7-SGX_Hands-on/src/app/embedded_device.h b/7-SGX_Hands-on/src/app/embedded_device.h index 59d699c..28ab514 100644 --- a/7-SGX_Hands-on/src/app/embedded_device.h +++ b/7-SGX_Hands-on/src/app/embedded_device.h @@ -3,4 +3,8 @@ #include +char *embedded_device_syntax(void); + +int handle_embedded_device(int argc, char **argv); + #endif \ No newline at end of file