HarmonyOS鸿蒙Next CMAC(ArkTS)- 官方示例报错 - Invalid Algorithm

HarmonyOS鸿蒙Next CMAC(ArkTS)- 官方示例报错 - Invalid Algorithm 宝们, 下面实例在模拟器和真机上都是出现错误代码 Invalid Algorithm, 不知道少了什么。API:16

CMAC(ArkTS)-CMAC-密钥使用-Universal Keystore Kit(密钥管理服务)-安全-系统 - 华为HarmonyOS开发者

05-16 11:08:54.307   14136-14136   C03919/com.exa...InputTracking com.examp...lication I   [(100000:100000:scope)] Consumed new event id=1563 in ace_container, lastEventInfo: id:1562
05-16 11:08:54.315   14136-14234   C02F06/com.exa...lication/HUKS com.examp...lication I     HksReadRequestReply[84]: reply get errMsgLen = 160
05-16 11:08:54.316   14136-14234   C02F06/com.exa...lication/HUKS com.examp...lication E     [HksLog]: g_errMsg [ TeecRequestCmdInner[315]: invoke km command failed, cmd = 2, ret = 0xffffff90, retOrigin = 4 <HksServiceInit[1852] <IpcServiceInit[713] <HksIpcServiceInit[773]]
05-16 11:08:54.316   14136-14234   C02F06/com.exa...lication/HUKS com.examp...lication E     ClientInit[677]: client init send fail
05-16 11:08:54.316   14136-14136   A03D00/com.exa...ication/JSAPP com.examp...lication E     promise: init EncryptData failed, {"code":12000003,"message":["Invalid algorithm."],"data":null}
05-16 11:08:54.316   14136-14136   C02F06/com.exa...lication/HUKS com.examp...lication E     ParseUpdateParams[232]: update could not get handle value
05-16 11:08:54.316   14136-14136   C02F06/com.exa...lication/HUKS com.examp...lication E     HuksNapiFinishSession[347]: finish: could not parse params

我的module.json5长这样, 缺少权限么?

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",

    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:layered_image",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:startIcon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ],
    "extensionAbilities": [
      {
        "name": "EntryBackupAbility",
        "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets",
        "type": "backup",
        "exported": false,
        "metadata": [
          {
            "name": "ohos.extension.backup",
            "resource": "$profile:backup_config"
          }
        ],
      }
    ]
  }
}

更多关于HarmonyOS鸿蒙Next CMAC(ArkTS)- 官方示例报错 - Invalid Algorithm的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

您好,为了更快速解决您的问题,并且吸引更多用户一同参与您问题的解答与讨论,建议您补全如下信息:

更多关于HarmonyOS鸿蒙Next CMAC(ArkTS)- 官方示例报错 - Invalid Algorithm的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,CMAC(ArkTS)官方示例报错“Invalid Algorithm”通常是由于指定的算法无效或不支持。请检查代码中使用的算法名称是否正确,并确保该算法在当前版本的鸿蒙系统中被支持。确认算法名称拼写无误,并参考官方文档确认支持的算法列表。

从错误日志来看,问题出在CMAC算法初始化阶段报"Invalid algorithm"错误(错误码12000003)。这通常是由于以下原因导致的:

  1. API级别问题:您使用的是API 16,但CMAC算法可能需要更高的API级别支持。建议检查文档确认最低支持的API版本。

  2. 算法参数配置错误:在调用huks.init()时,传入的properties参数可能存在问题。请确认:

    • alg参数是否正确设置为HuksKeyAlg.HUKS_ALG_AES
    • keySize是否设置为有效值(如128/192/256)
    • purpose是否设置为HuksKeyPurpose.HUKS_KEY_PURPOSE_MAC
  3. 权限配置:虽然module.json5中未显示安全权限配置,但CMAC操作需要添加以下权限:

"requestPermissions": [
  {
    "name": "ohos.permission.ACCESS_BIOMETRIC"
  }
]

建议先检查算法参数配置是否正确,特别是alg和keySize的设置。如果问题依旧,可以尝试升级API级别或检查设备是否支持该加密算法。

回到顶部