HarmonyOS鸿蒙Next轻量级智能穿戴应用开发中,HMAC密钥生成函数名与描述不符且算法配置错误

HarmonyOS鸿蒙Next轻量级智能穿戴应用开发中,HMAC密钥生成函数名与描述不符且算法配置错误 【问题描述】轻量级智能穿戴应用开发-穿戴-多端设备体验提升 - 华为HarmonyOS开发者@ohos.security.huks(通用密钥库系统)常见的消息认证码(MAC)算法中HMAC密钥生成函数名与描述不符,且算法配置错误。
在HMAC密钥生成章节,文字描述为定义一个 getRSAGenProperties()的函数,但代码片段中实际定义的函数名为getHMACGenProperties()
代码中配置的算法为huks.HuksKeyAlg.HUKS_ALG_AES,但HMAC算法应使用huks.HuksKeyAlg.HUKS_ALG_HMAC,后续步骤2的getHMACProperties()中使用了正确的HUKS_ALG_HMAC。
cke_5089.png

【优化建议】修正文字描述中的函数名引用为getHMACGenProperties(),并将代码中的技术参数从AES修改为HMAC,确保密钥生成与后续HMAC操作使用一致的算法类型。


更多关于HarmonyOS鸿蒙Next轻量级智能穿戴应用开发中,HMAC密钥生成函数名与描述不符且算法配置错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

您好,问题已修复,请您前往官网链接验证:[@ohos.security.huks(通用密钥库系统)](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-lite-wearable-guide#section86272017568)。

更多关于HarmonyOS鸿蒙Next轻量级智能穿戴应用开发中,HMAC密钥生成函数名与描述不符且算法配置错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


尊敬的开发者,您好!感谢您的反馈,问题正在加速处理中,还请关注后续版本,感谢您的理解与支持。

你反馈的点是对的:HMAC 密钥生成章节里文字把函数名写成了 getRSAGenProperties(),与示例实际的 getHMACGenProperties() 不一致;同时示例里 algorithm 配成了 huks.HuksKeyAlg.HUKS_ALG_AES,但 HMAC 场景应使用 huks.HuksKeyAlg.HUKS_ALG_HMAC,否则生成的 key 类型和后续 HMAC 计算步骤不匹配。

建议文档按你给的两点统一修正(函数名引用 + 算法枚举),并以“后续步骤 getHMACProperties()”的参数为准保持一致。也可以在对应文档页点“反馈/纠错”附上链接与截图,文档团队更容易定位。

在HarmonyOS Next轻量级智能穿戴开发中,HMAC密钥生成函数(如generateHmacKey)的实际行为与API文档描述存在差异:函数内部默认使用HmacAlgorithm.NONE或错误算法标识,导致密钥生成结果不正确。需确认使用的算法常量(如HmacAlgorithm.SHA256)与函数签名匹配,并检查API版本更新说明以修复描述。

文档中该示例确实存在笔误。生成HMAC密钥时,算法参数应为huks.HuksKeyAlg.HUKS_ALG_HMAC,属性函数名应为getHMACGenProperties()。修正后的代码参考如下:

function getHMACGenProperties(): huks.HuksParam[] {
  return [{
    tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
    value: huks.HuksKeyAlg.HUKS_ALG_HMAC
  }, {
    tag: huks.HuksTag.HUKS_TAG_PURPOSE,
    value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_MAC
  }, {
    tag: huks.HuksTag.HUKS_TAG_DIGEST,
    value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
  }];
}

这样密钥生成与后续getHMACProperties()中使用的算法保持一致,可正常进行HMAC运算。

回到顶部