HarmonyOS 鸿蒙Next HUKS生成密钥报错

HarmonyOS 鸿蒙Next HUKS生成密钥报错

localKeyProperties: propertyType[] = [ { tag: huks.HuksTag.HUKS_TAG_ALGORITHM, value:huks.HuksKeyAlg.HUKS_ALG_RSA }, { tag: huks.HuksTag.HUKS_TAG_KEY_SIZE, value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_1024 }, { tag: huks.HuksTag.HUKS_TAG_PURPOSE, value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT }, { tag: huks.HuksTag.HUKS_TAG_PADDING, value: huks.HuksKeyPadding.HUKS_PADDING_NONE }, { tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE, value: huks.HuksCipherMode.HUKS_MODE_ECB }, ]

报错: error:{“code”:12000003,“message”:[“Invalid key size.”],“data”:null}    

localKeyProperties: propertyType[] = [ { tag: huks.HuksTag.HUKS_TAG_ALGORITHM, value:huks.HuksKeyAlg.HUKS_ALG_RSA }, { tag: huks.HuksTag.HUKS_TAG_KEY_SIZE, value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_2048 }, { tag: huks.HuksTag.HUKS_TAG_PURPOSE, value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT }, { tag: huks.HuksTag.HUKS_TAG_PADDING, value: huks.HuksKeyPadding.HUKS_PADDING_NONE }, { tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE, value: huks.HuksCipherMode.HUKS_MODE_ECB }, ]

报错: error:{“code”:12000003,“message”:[“Invalid key purpose.”],“data”:null}  需要用huks生成可用于加解密和签名的RSA1024钥匙对,要怎么配置这个Properties啊


更多关于HarmonyOS 鸿蒙Next HUKS生成密钥报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

当前签名和加解密不支持写在一起,需要分开写properties: 如下参考:

{

  tag: huks.HuksTag.HUKS_TAG_PURPOSE,

  value:

  huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT |

  huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT

}
,

{

  tag: huks.HuksTag.HUKS_TAG_PURPOSE,

  value:

  huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN |

  huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY

}

加签验签生成的密钥是不可以用于加解密,只能通过分别生成密钥,设置不同的密钥别名去实现,无法通过同一个密钥进行加解密和验签。

更多关于HarmonyOS 鸿蒙Next HUKS生成密钥报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,HUKS(Harmony Unified Key Store)用于管理密钥和证书。针对你提到的HUKS生成密钥报错问题,以下是一些可能的解决方案,但不涉及Java或C语言代码:

  1. 检查权限: 确保你的应用已经声明了必要的权限,如读取/写入密钥存储的权限。在鸿蒙系统的配置文件(如config.json)中检查并添加相关权限。

  2. 参数验证: 核对生成密钥时使用的参数,如密钥类型、密钥长度、算法等,确保它们符合HUKS的要求。

  3. 错误码分析: 查看报错时的错误码,根据鸿蒙官方文档中的错误码列表,定位具体问题。常见的错误码包括参数错误、资源不足、操作不支持等。

  4. 系统兼容性: 确认你的鸿蒙系统版本是否支持当前使用的HUKS API。不同版本的鸿蒙系统可能对HUKS API的支持存在差异。

  5. 设备状态: 检查设备状态,如存储空间、内存使用情况等,确保设备处于正常状态,避免因资源不足导致报错。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。在联系客服时,提供详细的错误日志和操作步骤,以便快速定位问题。

回到顶部