HUKS开发概述

功能简介

HUKS(OpenHarmony Universal KeyStore)向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。

基本概念

  • HUKS提供密钥管理功能,支持的主要操作包括:加密解密、签名验签、派生协商密钥、计算HMAC(Hash-based Message Authentication Code)。
  • HUKS涉及的算法主要有:AES加密解密、RSA加密解密、RSA签名验签、ECC签名验签、DSA签名验签、ED25519签名验签、PBKDF2派生、DH协商、ECDH协商、X25519协商等。
  • HUKS当前使用的算法库为OpenSSL和mbed TLS。

运作机制

HUKS对密钥的使用主要通过InitSession、UpdateSession、FinishSession操作来实现。

  • InitSession操作:读取密钥,并为其创建Session Id返回给调用者。

  • UpdateSession操作:根据InitSession操作获取的Session Id对数据进行分段updateSession处理。

  • FinishSession操作:当所有待处理的数据均传入HUKS后,调用FinishSession操作完成最终数据处理,释放资源。

须知:
当InitSession、UpdateSession、FinishSession操作中的任一阶段发生错误时,都需要调用AbortSession操作来终止密钥的使用。

约束与限制

不涉及。