#ifndef PLATFORM_VERIFY_H
#define PLATFORM_VERIFY_H
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "token_parse.h"
* Reference value structure corresponding to measure_value in JSON file
*/
typedef struct {
char firmware_name[64];
char measurement[128];
char firmware_version[32];
char hash_algorithm[16];
} sw_component_ref_t;
typedef struct {
sw_component_ref_t *sw_components;
size_t sw_comp_count;
} platform_ref_values_t;
* Load platform reference values from JSON file
*
* @param json_file_path JSON file path
* @param ref_values Output reference values structure
* @return true on success, false on failure
*/
bool load_platform_ref_values(const char *json_file_path, platform_ref_values_t *ref_values);
* Verify sw-components in platform token
*
* @param platform_claims Platform claims parsed from token
* @param ref_values Reference values
* @return true on verification success, false on verification failure
*/
bool verify_platform_sw_components(const platform_claims_t *platform_claims,
const platform_ref_values_t *ref_values);
void free_platform_ref_values(platform_ref_values_t *ref_values);
#endif