dcmi_set_device_sec_revocation接口原型
函数原型
int dcmi_set_device_sec_revocation(int card_id, int device_id, enum dcmi_revo_type input_type, const unsigned char *file_data, unsigned int file_size)
功能说明
实现密钥吊销功能。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
card_id |
输入 |
int |
指定NPU管理单元的ID,当前实际支持的ID通过dcmi_get_card_list接口获取。 |
device_id |
输入 |
int |
指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下: NPU芯片:[0, device_id_max-1]。 |
input_type |
输入 |
enum dcmi_revo_type |
吊销类型。 enum dcmi_revo_type { DCMI_REVOCATION_TYPE_SOC = 0, //用于吊销SOC密钥 DCMI_REVOCATION_TYPE_CMS_CRL = 1, //用于MDC CMS CRL文件升级 DCMI_REVOCATION_TYPE_CMS_CRL_EXT = 2, //用于扩展CRL文件升级 DCMI_REVOCATION_TYPE_MAX }; |
file_data |
输入 |
const unsigned char * |
吊销文件的数据地址。 |
file_size |
输入 |
unsigned int |
吊销文件的数据长度。 |
返回值
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
- 密钥吊销操作是不可逆的过程,吊销操作执行成功后,无法再进行恢复,需要谨慎使用。
- 该接口在确定需要进行对应的吊销操作时才可以调用,并且需要正确的吊销文件才可以吊销成功,否则,调用该接口返回失败。
- 执行吊销操作成功后,设备不可用。
表1 部署场景 Linux物理机
Linux物理机容器
root用户
运行用户组(非root用户)
root用户
N
N
N
调用示例
... #define REVOCATION_FILE_LEN 544 int card_id = 0; int dev_id = 0; int ret = 0; int dev_count = 0; unsigned char revocation_file_buf[REVOCATION_FILE_LEN] = {0}; unsigned int buf_size = REVOCATION_FILE_LEN; ret = dcmi_set_device_sec_revocation(card_id, dev_id, DCMI_REVOCATION_TYPE_SOC, (const unsigned char *)revocation_file_buf, buf_size); if (ret != 0){ // todo:记录日志 return ret; } ...
父主题: 设备管理接口