未验证 提交 ee22a569 编写于 作者: O openharmony_ci 提交者: Gitee

!14758 平台密钥级预制密钥保护功能 hdi 接口说明

Merge pull request !14758 from code4lala/master
......@@ -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
**接口描述**
导出芯片平台级密钥对的公钥。
**接口原型**
<pre><code>int32_t (*HuksHdiExportChipsetPlatformPublicKey)(const struct HksBlob *salt, enum HksChipsetPlatformDecryptScene scene, struct HksBlob *publicKey);</code></pre>
<details>
<summary><strong>参数说明</strong></summary>
<pre>
<strong>const struct HksBlob *salt</strong>
用来派生芯片平台密钥对时的派生因子
<br></br>
<strong>enum HksChipsetPlatformDecryptScene scene</strong>
业务预期进行芯片平台解密的场景
<br></br>
<strong>struct HksBlob *publicKey</strong>
出参为ECC P256的x y轴值裸数据,各32字节
</pre>
</details>
<br></br>
<details>
<summary><strong>约束与限制</strong></summary>
1. 入参`salt`长度必须为16字节,且最后一个字节的内容会被忽略,将由huks内部根据入参`scene`进行修改填充。<br>
当前huks的芯片平台级密钥对为软实现,硬编码了一对ECC-P256密钥对到代码中,`salt`值被忽略,即无论传入什么`salt`,派生出的密钥都是一样的。在真正基于硬件的芯片平台级密钥实现中,`salt`为用来派生密钥的派生因子,传入不同的`salt`会得到不同的密钥对。
</details>
<br></br>
<details>
<summary><strong>返回值</strong></summary>
- HKS_SUCCESS:成功
- 其他:失败
</details>
- - -
### 开发步骤
HDI接口到HUKS Core的适配在以下目录中:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册