harmony 鸿蒙IHuks
IHuks
概述
定义了HUKS的驱动接口,用于进行密钥管理。
起始版本: 4.0
相关模块:HdfHuks
汇总
Public 成员函数
| 名称 | 描述 |
|---|---|
| ModuleInit () | HUKS驱动初始化。 |
| GenerateKey ([in] struct HuksBlob keyAlias,[in] struct HuksParamSet paramSet,[in] struct HuksBlob keyIn, [out] struct HuksBlob encKeyOut) | 根据待生成密钥的属性生成对应的密钥材料,并返回加密后的密钥材料密文。 |
| ImportKey ([in] struct HuksBlob keyAlias, [in] struct HuksBlob key, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encKeyOut) | 导入明文密钥。 |
| ImportWrappedKey ([in] struct HuksBlob wrappingKeyAlias, [in] struct HuksBlob wrappingEncKey, [in] struct HuksBlob wrappedKeyData, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encKeyOut) | 导入加密密钥。 |
| ExportPublicKey ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob keyOut) | 导出密钥对的公钥。 |
| Init ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out]struct HuksBlob handle, [out] struct HuksBlob token) | 初始化密钥会话,解密密钥材料到内存中,并返回一个句柄和令牌。 |
| Update ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet, [in] struct HuksBlob inData, [out] struct HuksBlob outData) | 分段操作数据或分段传参,根据密码算法的本身的要求需要对数据进行分段操作或传参(密钥协商场景)。 |
| Finish ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet, [in] struct HuksBlob inData, [out] struct HuksBlob outData) | 结束密钥会话和操作数据。 |
| Abort ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet) | 中止密钥会话,并释放会话内部的数据,中止后不能操作会话。 |
| CheckKeyValidity ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encKey) | 校验密钥材料的有效性(密钥和属性的完整性)。 |
| AttestKey ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob certChain) | 获取密钥证书链。 |
| GenerateRandom ([in] struct HuksParamSet paramSet, [out]struct HuksBlob random) | 生成随机数。 |
| Sign ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [out]struct HuksBlob signature) | 使用密钥对数据进行签名。 |
| Verify ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [in] struct HuksBlob signature) | 校验数据的签名。 |
| Encrypt ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob plainText, [out] struct HuksBlob cipherText) | 使用密钥对数据进行加密。 |
| Decrypt ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob cipherText, [out] struct HuksBlob plainText) | 使用密钥对数据的密文进行解密。 |
| AgreeKey ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encPrivateKey, [in] struct HuksBlob peerPublicKey, [out] struct HuksBlob agreedKey) | 使用HUKS存储的私钥和业务的公钥进行密钥协商。 |
| DeriveKey ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encKdfKey, [out] struct HuksBlob derivedKey) | 使用HUKS存储的密钥进行派生。 |
| Mac ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [out] struct HuksBlob mac) | 使用HUKS存储的密钥做数据的消息认证码。 |
| UpgradeKey ([in] struct HuksBlob encOldKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encNewKey) | 升级密钥,包括升级加密方式和加密材料。当密钥文件版本号小于最新版本号时,HUKS Service触发该升级能力。 |
| ExportChipsetPlatformPublicKey ([in] struct HuksBlob salt, [in] enum HuksChipsetPlatformDecryptScene scene, [out] struct HuksBlob publicKey) | 导出芯片平台级密钥对的公钥。 |
成员函数说明
Abort()
IHuks::Abort ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet )
描述
中止密钥会话,并释放会话内部的数据,中止后不能操作会话。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| handle | 密钥会话句柄HuksBlob。 |
| paramSet | 操作密钥的参数集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
参见:
返回:
0 表示操作成功
非0表示操作失败
AgreeKey()
IHuks::AgreeKey ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encPrivateKey, [in] struct HuksBlob peerPublicKey, [out] struct HuksBlob agreedKey )
描述
使用HUKS存储的私钥和业务的公钥进行密钥协商。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| paramSet | 用于协商的参数HuksParamSet。 |
| encPrivateKey | HUKS存储的密钥对材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| peerPublicKey | 待协商的公钥HuksBlob。 |
| agreedKey | 协商出的密钥明文HuksBlob。 |
返回:
0 表示成功
非0表示失败
AttestKey()
IHuks::AttestKey ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob certChain )
描述
获取密钥证书链。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于获取密钥证书链的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| certChain | 密钥证书链HuksBlob,证书链结构参见《HUKS设备开发指南》。 |
返回:
0 表示操作成功
非0表示操作失败
CheckKeyValidity()
IHuks::CheckKeyValidity ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encKey )
描述
校验密钥材料的有效性(密钥和属性的完整性)。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| paramSet | 校验密钥有效性的参数集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示密钥材料有效
非0表示密钥材料无效
Decrypt()
IHuks::Decrypt ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob cipherText, [out] struct HuksBlob plainText )
描述
使用密钥对数据的密文进行解密。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于加密的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| cipherText | 数据的密文HuksBlob。 |
| plainText | 数据的明文HuksBlob。 |
返回:
0 表示成功
非0表示失败
DeriveKey()
IHuks::DeriveKey ([in] struct HuksParamSet paramSet, [in] struct HuksBlob encKdfKey, [out] struct HuksBlob derivedKey )
描述
使用HUKS存储的密钥进行派生。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| paramSet | 用于派生的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| encKdfKey | HUKS存储的密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| derivedKey | 派生出的密钥明文HuksBlob。 |
返回:
0 表示成功
非0表示失败
Encrypt()
IHuks::Encrypt ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob plainText, [out] struct HuksBlob cipherText )
描述
使用密钥对数据进行加密。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于加密的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| plainText | 待加密的数据HuksBlob。 |
| cipherText | 数据的密文HuksBlob。 |
返回:
0 表示成功
非0表示失败
ExportChipsetPlatformPublicKey()
IHuks::ExportChipsetPlatformPublicKey ([in] struct HuksBlob salt, [in] enum HuksChipsetPlatformDecryptScene scene, [out] struct HuksBlob publicKey )
描述
导出芯片平台级密钥对的公钥。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| salt | 用来派生芯片平台密钥对时的派生因子HuksBlob。 |
| scene | 业务预期进行芯片平台解密的场景HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| publicKey | 公钥材料,如出参为ECC-P256的x、y轴值裸数据,各32字节HuksBlob。 |
返回:
0 表示成功
非0表示失败
ExportPublicKey()
IHuks::ExportPublicKey ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob keyOut )
描述
导出密钥对的公钥。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 加密的密钥对材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 导出密钥密钥属性集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| keyOut | 公钥材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示导出密钥成功
非0表示导出密钥失败
Finish()
IHuks::Finish ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet, [in] struct HuksBlob inData, [out] struct HuksBlob outData )
描述
结束密钥会话和操作数据。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| handle | 密钥会话句柄HuksBlob。 |
| paramSet | 操作密钥的参数集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| inData | 分段数据或者参数HuksBlob。 |
| outData | 操作完成的数据HuksBlob。 |
参见:
返回:
0 表示操作成功
非0表示操作失败
GenerateKey()
IHuks::GenerateKey ([in] struct HuksBlob keyAlias, [in] struct HuksParamSet paramSet, [in] struct HuksBlob keyIn, [out] struct HuksBlob encKeyOut )
描述
根据待生成密钥的属性生成对应的密钥材料,并返回加密后的密钥材料密文。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| keyAlias | 待生成密钥的别名HuksBlob。 |
| paramSet | 待生成密钥的密钥属性参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| keyIn | 待生成密钥的密钥材料HuksBlob,可选。 |
| encKeyOut | 生成密钥的密文材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示生成密钥成功
非0表示生成密钥失败
GenerateRandom()
IHuks::GenerateRandom ([in] struct HuksParamSet paramSet, [out] struct HuksBlob random )
描述
生成随机数。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| paramSet | 用于生成随机数的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| random | 生成的随机数HuksBlob。 |
返回:
0 表示生成成功
非0表示生成失败
ImportKey()
IHuks::ImportKey ([in] struct HuksBlob keyAlias, [in] struct HuksBlob key, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encKeyOut )
描述
导入明文密钥。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| keyAlias | 待导入密钥的别名HuksBlob。 |
| key | 待导入密钥的明文密钥材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 待导入密钥的密钥属性集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| encKeyOut | 导入密钥的密文材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示导入密钥成功
非0表示导入密钥失败
ImportWrappedKey()
IHuks::ImportWrappedKey ([in] struct HuksBlob wrappingKeyAlias, [in] struct HuksBlob wrappingEncKey, [in] struct HuksBlob wrappedKeyData, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encKeyOut )
描述
导入加密密钥。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| wrappingKeyAlias | 用于做加密导入的中间密钥别名HuksBlob。 |
| wrappingEncKey | 用于做加密导入的中间密钥密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| wrappedKeyData | 待导入密钥的密文密钥材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 待导入密钥的密钥属性集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| encKeyOut | 导入密钥的密文材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示导入密钥成功
非0表示导入密钥失败
Init()
IHuks::Init ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob handle, [out] struct HuksBlob token )
描述
初始化密钥会话,解密密钥材料到内存中,并返回一个句柄和令牌。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 加密的密钥材料HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 操作密钥的参数集HuksParamSet,用于指定该次密钥操作的参数。 |
| handle | 密钥会话句柄HuksBlob,用于后续操作密钥会话。 |
| token | 密钥会话令牌HuksBlob,用于密钥访问控制使用。 |
参见:
返回:
0 表示初始化会话成功
非0表示初始化失败
Mac()
IHuks::Mac ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [out] struct HuksBlob mac )
描述
使用HUKS存储的密钥做数据的消息认证码。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于做MAC的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| srcData | 用于做MAC的数据HuksBlob。 |
| mac | 消息认证码HuksBlob。 |
返回:
0 表示成功
非0表示失败
ModuleInit()
IHuks::ModuleInit ()
描述
HUKS驱动初始化。
起始版本: 4.0
返回:
0 表示初始化成功
非0表示初始化失败
Sign()
IHuks::Sign ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [out] struct HuksBlob signature )
描述
使用密钥对数据进行签名。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于签名的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| srcData | 待签名的数据HuksBlob。 |
| signature | 数据的签名HuksBlob。 |
返回:
0 表示成功
非0表示失败
Update()
IHuks::Update ([in] struct HuksBlob handle, [in] struct HuksParamSet paramSet, [in] struct HuksBlob inData, [out] struct HuksBlob outData )
描述
分段操作数据或分段传参,根据密码算法的本身的要求需要对数据进行分段操作或传参(密钥协商场景)。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| handle | 密钥会话句柄HuksBlob,通过初始化密钥会话接口获取。 |
| paramSet | 操作密钥的参数集HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| inData | 分段数据或者参数HuksBlob。 |
| outData | 操作完成的数据HuksBlob。 |
参见:
返回:
0 表示操作成功
非0表示操作失败
UpgradeKey()
IHuks::UpgradeKey ([in] struct HuksBlob encOldKey, [in] struct HuksParamSet paramSet, [out] struct HuksBlob encNewKey )
描述
升级密钥,包括升级加密方式和加密材料。当密钥文件版本号小于最新版本号时,HUKS Service触发该升级能力。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encOldKey | 待升级密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 升级密钥的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| encNewKey | 升级后的密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
返回:
0 表示成功
非0表示失败
Verify()
IHuks::Verify ([in] struct HuksBlob encKey, [in] struct HuksParamSet paramSet, [in] struct HuksBlob srcData, [in] struct HuksBlob signature )
描述
校验数据的签名。
起始版本: 4.0
参数:
| 名称 | 描述 |
|---|---|
| encKey | 密钥材料密文HuksBlob,密钥材料结构参见《HUKS设备开发指南》。 |
| paramSet | 用于校验签名的参数HuksParamSet,属性集结构参见《HUKS设备开发指南》。 |
| srcData | 待验签的数据HuksBlob。 |
| signature | 待校验数据的签名HuksBlob。 |
返回:
0 表示成功
非0表示失败
你可能感兴趣的鸿蒙文章
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 openharmony
-
9、 golang