Assignment-7-sgximpl #13

Merged
saschato merged 62 commits from Assignment-7-sgximpl into Assignment-7 2024-07-08 11:03:28 +02:00
Showing only changes of commit 5a12559f5d - Show all commits

View file

@ -27,6 +27,7 @@ static void syntax_exit() {
static EVP_PKEY *read_public_key(uint8_t *public_key_file, EVP_PKEY **key) { static EVP_PKEY *read_public_key(uint8_t *public_key_file, EVP_PKEY **key) {
if(public_key_file == NULL) { if(public_key_file == NULL) {
fprintf(stderr, "public_key_file is a null pointer!\n"); fprintf(stderr, "public_key_file is a null pointer!\n");
return NULL;
} }
FILE *fd = fopen(public_key_file, "rb"); FILE *fd = fopen(public_key_file, "rb");
@ -44,11 +45,13 @@ static EVP_PKEY *read_public_key(uint8_t *public_key_file, EVP_PKEY **key) {
static void hash_firmware(uint8_t *firmware_path, EVP_MD_CTX **ctx) { static void hash_firmware(uint8_t *firmware_path, EVP_MD_CTX **ctx) {
if(firmware_path == NULL) { if(firmware_path == NULL) {
fprintf(stderr, "firmware_path is a null pointer!\n"); fprintf(stderr, "firmware_path is a null pointer!\n");
return;
} }
FILE *fd = fopen(firmware_path, "rb"); FILE *fd = fopen(firmware_path, "rb");
if(fd == NULL) { if(fd == NULL) {
fprintf(stderr, "failed to open firmware!\n"); fprintf(stderr, "failed to open firmware!\n");
goto exit;
} }
size_t size; size_t size;
@ -56,8 +59,8 @@ static void hash_firmware(uint8_t *firmware_path, EVP_MD_CTX **ctx) {
while((size = fread(buf, 1, BUFSIZE, fd)) != 0) { while((size = fread(buf, 1, BUFSIZE, fd)) != 0) {
EVP_DigestVerifyUpdate(*ctx, buf, size); EVP_DigestVerifyUpdate(*ctx, buf, size);
} }
fclose(fd); exit: fclose(fd);
} }
static void read_signature(uint8_t *signature, size_t *signature_size) { static void read_signature(uint8_t *signature, size_t *signature_size) {