openharmony 鸿蒙 huks-signing-signature-verification-overview

2025-06-16 浏览 (1)

签名/验签介绍及算法规格

为实现数据完整性保护和防抵赖,可使用生成/导入的密钥,对数据进行签名验签操作。

支持的算法

以下为密钥签名/验签支持的规格说明。

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

建议开发者使用必选规格开发应用,可保证全平台兼容。

标准设备规格

算法/摘要算法/填充模式备注API级别是否必选规格
RSA/MD5/PKCS1_V1_5
RSA/SHA1/PKCS1_V1_5
RSA/SHA224/PKCS1_V1_5
RSA/SHA224/PSS
对于PSS模式,salt长度支持设置为摘要长度和最大长度(最大长度=密钥长度-摘要长度-2),对应枚举值详见HuksRsaPssSaltLenType8+
RSA/SHA256/PKCS1_V1_5
RSA/SHA384/PKCS1_V1_5
RSA/SHA512/PKCS1_V1_5
RSA/SHA256/PSS
RSA/SHA384/PSS
RSA/SHA512/PSS
对于PSS模式,salt长度支持设置为摘要长度和最大长度(最大长度=密钥长度-摘要长度-2),对应枚举值详见HuksRsaPssSaltLenType8+
RSA/NoDigest/PKCS1_V1_5NoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。由业务对明文做哈希,再将哈希后的数据传入,哈希后的数据长度必须满足RSA签名验签支持的摘要算法规格。9+
RSA/NoDigest/NoPaddingNoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。由业务对明文做哈希,再将哈希后的数据传入,哈希后的数据长度必须等于密钥长度。20+
DSA/SHA1
DSA/SHA224
DSA/SHA256
DSA/SHA384
DSA/SHA512
-8+
DSA/NoDigestNoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。9+
ECC/SHA1
ECC/SHA224
签名是ASN1格式。8+
ECC/SHA256
ECC/SHA384
ECC/SHA512
签名是ASN1格式。
ECC算法支持的椭圆曲线函数包括:P-256、P-384、P-521。
8+
ECC/NoDigest签名是ASN1格式。
NoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。
9+
ED25519/NoDigestNoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。8+
SM2/SM3签名是ASN1格式。9+

轻设备规格

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

算法/摘要算法/填充模式备注API级别
RSA/SHA256/PKCS1_V1_5-12+
RSA/SHA256/PSS-12+
RSA/SHA1/ISO_IEC_9796_2数据最小长度=密钥长度-21字节12+
RSA/NoDigest/NoPaddingNoDigest需要指定TAG HuksKeyDigest.HUKS_DIGEST_NONE。由业务对明文做哈希,再将哈希后的数据传入,哈希后的数据长度必须等于密钥长度。20+

你可能感兴趣的鸿蒙文章

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

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

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

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

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

harmony 鸿蒙密钥删除(ArkTS)

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

harmony 鸿蒙加解密(ArkTS)

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

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

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/jUdvDA