harmony 鸿蒙密钥生成介绍及算法规格

  • 2025-06-16
  • 浏览 (3)

密钥生成介绍及算法规格

当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥。 > 注意: > - 密钥别名中禁止包含个人数据等敏感信息。 > - 使用现有密钥别名作为生成的密钥别名会把现有密钥覆盖。

  • 随机生成:指HUKS在生成密钥时,利用密码学安全的伪随机数,提高密钥的随机性、不可预测性以及不可重现性,确保生成的密钥难以被推测。

  • 安全保存:指通过HUKS生成的密钥,除了非对称密钥中的公钥外,密钥的全生命周期(从生成到销毁)均只能由HUKS在安全存储区使用,且生成的密钥文件不能被除HUKS以外的任何业务直接访问。即使是生成密钥的业务,后续也只能通过HUKS提供的接口执行密钥操作,从而获取操作结果。

  • 密钥用途:一个密钥只能有一类用途,例如:无法通过同一个密钥进行加解密和签名验签。另外,生成密钥时指定的用途要与使用时的方式一致,否则会导致异常。

密钥存储安全等级

在API 11之前,生成或导入密钥时,默认存储等级为DE;从API 11开始,支持开发者指定存储安全等级,默认为CE,可取值如表所示。

名称 说明
HUKS_AUTH_STORAGE_LEVEL_DE 0 表示密钥仅在开机后可访问。
HUKS_AUTH_STORAGE_LEVEL_CE 1 表示密钥仅在首次解锁后可访问。
HUKS_AUTH_STORAGE_LEVEL_ECE 2 表示密钥仅在解锁状态时可访问。

支持的算法

以下为密钥生成支持的规格说明。 面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。

建议开发者使用必选规格开发应用,可保证全平台兼容。 标准设备规格 |算法|支持的密钥长度|API级别|是否必选规格| |——–|——–|——–|——–| |AES|128、192、256|8+|是| |RSA|512、768、1024|8+|否| |RSA|2048、3072、4096|8+|是| |RSA|1024-2048(含),必须是8的倍数|18+|是| |HMAC|8-1024(含),必须是8的倍数|8+|是| |ECC|224|8+|否| |ECC|256、384、521|8+|是| |ED25519|256|8+|是| |X25519|256|8+|是| |DSA|512-1024(含),8的倍数|8+|否| |DH|2048|8+|是| |DH|3072、4096|8+|否| |SM2|256|9+|是| |SM4|128|9+|是| |DES|64|18+|是| |3DES|128、192|18+|是|

说明: DH算法采用FFDHE知名安全素数群。 DES和3DES算法仅提供给特定场景使用,其他场景下不推荐使用。

轻量级设备规格

轻量级设备所列规格,OEM厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。

算法 支持的密钥长度 API级别
AES 128、192、256 8+
DES 64 12+
3DES 128、192 12+
RSA 1024-2048(含),必须是8的倍数 12+
HMAC 8-1024(含),必须是8的倍数 12+
CMAC 128 算法仅支持3DES 12+

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Universal Keystore Kit(密钥管理服务)

harmony 鸿蒙指定用户身份操作(仅对系统应用开放)

harmony 鸿蒙查询密钥是否存在(ArkTS)

harmony 鸿蒙查询密钥是否存在(C/C++)

harmony 鸿蒙通用密钥库基础概念

harmony 鸿蒙密钥删除(ArkTS)

harmony 鸿蒙密钥删除(C/C++)

harmony 鸿蒙加解密(ArkTS)

harmony 鸿蒙加解密(C/C++)

harmony 鸿蒙加密/解密介绍及算法规格

0  赞