除了使用DAS自带的安全度量服务以外, 您还可以根据设备的特点和需要在DAS服务框架内构建自己的度量服务。
实现服务
在src/service下创建service_skeleton.c文件,并实现inc/das/service.h中的服务接口定义。
das_result_t skt_info (char *buffer, size_t size,
das_service_state_t *state);
das_result_t skt_attest (char *path, size_t size, das_sum_context_t *sum_context, das_service_state_t *state);
das_result_t skt_measure (das_sum_context_t *sum_context,
das_mac_context_t *mac_context,
das_service_state_t *state);
das_service_t skt_service = {
.name = "skeleton",
.info = skt_info,
.attest = skt_attest,
.measure = skt_measure,
};
添加服务
在src/service/service.c文件中添加服务。
#if DPS_SERVICE_SKELETON_ENABLED
extern das_service_t skt_service;
#endif
das_service_t * das_service_table[DAS_MAX_SRV_NUM] = {
#ifdef DPS_SERVICE_SKELETON_ENABLED
&skt_service,
#endif
&sys_srv,
NULL,
};
配置服务
配置Makefile使能服务。
CFLAGS += -DDPS_SERVICE_SKELETON_ENABLED
SRCS += service/service_skeleton.c