diff --git a/zh-cn/device-dev/subsystems/subsys-security-huks-guide.md b/zh-cn/device-dev/subsystems/subsys-security-huks-guide.md index 009a4989cccc4f494f5f4a51cec730b07abb8d22..e019d626238f9516e78fc512228e79b7facdd9ff 100644 --- a/zh-cn/device-dev/subsystems/subsys-security-huks-guide.md +++ b/zh-cn/device-dev/subsystems/subsys-security-huks-guide.md @@ -83,6 +83,7 @@ HUKS Core作为向应用提供密钥库能力的基础,包括密钥管理及 | [HuksHdiAbort()](#hukshdiabort) | 终止三段式。 |无 | abort(handle: number, options: HuksOptions) | | [HuksHdiGetKeyProperties()](#hukshdigetkeyproperties) | 获取密钥属性。 |无 | getKeyProperties(keyAlias: string, options: HuksOptions)| | [HuksHdiAttestKey()](#hukshdiattestkey) | 获取密钥证书。 |出参要遵循certChain格式 | attestKey(keyAlias: string, options: HuksOptions)| +| [HuksHdiExportChipsetPlatformPublicKey()](#hukshdiexportchipsetplatformpublickey) | 导出芯片平台级密钥对的公钥。 | 出参为ECC P256的x y轴值裸数据,各32字节 | 无 | - - - @@ -558,6 +559,49 @@ HUKS Core的初始化,包括锁,加密算法库,authtoken key和根密钥 - - - +#### HuksHdiExportChipsetPlatformPublicKey + +**接口描述** + +导出芯片平台级密钥对的公钥。 + +**接口原型** +
int32_t (*HuksHdiExportChipsetPlatformPublicKey)(const struct HksBlob *salt, enum HksChipsetPlatformDecryptScene scene, struct HksBlob *publicKey);
+ +
+ 参数说明 +
+  const struct HksBlob *salt
+  用来派生芯片平台密钥对时的派生因子
+  

+ enum HksChipsetPlatformDecryptScene scene + 业务预期进行芯片平台解密的场景 +

+ struct HksBlob *publicKey + 出参为ECC P256的x y轴值裸数据,各32字节 +
+
+

+ +
+ 约束与限制 + + 1. 入参`salt`长度必须为16字节,且最后一个字节的内容会被忽略,将由huks内部根据入参`scene`进行修改填充。
+ 当前huks的芯片平台级密钥对为软实现,硬编码了一对ECC-P256密钥对到代码中,`salt`值被忽略,即无论传入什么`salt`,派生出的密钥都是一样的。在真正基于硬件的芯片平台级密钥实现中,`salt`为用来派生密钥的派生因子,传入不同的`salt`会得到不同的密钥对。 + +
+

+ +
+ 返回值 + + - HKS_SUCCESS:成功 + + - 其他:失败 +
+ +- - - + ### 开发步骤 HDI接口到HUKS Core的适配在以下目录中: