dcmi_get_attest_cert接口原型
函数原型
int dcmi_get_attest_cert(int card_id, int device_id, unsigned char *ak_cert, unsigned int *ak_cert_len)
功能说明
获取设备的IAK(Initial Attestation Key)证书以及证书长度。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
|---|---|---|---|
card_id |
输入 |
int |
设备ID,当前实际支持的ID通过dcmi_get_card_num_list接口获取。 |
device_id |
输入 |
int |
芯片ID,通过dcmi_get_device_id_in_card接口获取。取值范围如下: NPU芯片:[0, device_id_max-1]。 |
ak_cert |
输出 |
unsigned char * |
返回IAK证书,证书长度最大为2KB。 |
ak_cert_len |
输入/输出 |
unsigned int * |
输入用户分配的空间大小,返回真实数据的长度。 |
返回值说明
类型 |
描述 |
|---|---|
int |
处理结果:
|
异常处理
无。
约束说明
物理机场景(裸机) |
物理机+普通容器场景 |
|
|---|---|---|
root用户 |
运行用户组(非root用户) |
root用户 |
N |
N |
N |
注:Y表示支持;N表示不支持;NA表示不涉及,当前未规划此场景。 |
||
调用示例
…
int ret;
int card_id = 0;
int device_id = 0;
unsigned char ak_cert[65536] = {0};
unsigned int ak_cert_len = sizeof(ak_cert);
ret = dcmi_init();
if (ret != 0) {
printf("dcmi_init failed, ret = %d\n", ret);
return ret;
}
ret = dcmi_get_attest_cert(card_id, device_id, ak_cert, &ak_cert_len);
if (ret != 0) {
printf("dcmi_get_attest_cert failed, ret = %d\n", ret);
return ret;
}
…
父主题: 设备管理接口