错误信息
The feature or capability is not supported.
错误描述
当前调用的特性(功能)不支持使用,具体特性(功能)可通过打印的errorMessage获取。
可能原因
处理步骤
错误信息
The algorithm param is missing.
错误描述
缺少密钥操作必要的算法参数。
可能原因
未添加当前密钥操作必要的参数,例如密钥算法、密钥长度、填充算法等。
处理步骤
错误信息
The algorithm argument is invalid.
错误描述
无效的密钥算法参数。
可能原因
使用密钥时相关参数无效,例如算法和填充算法不匹配,算法和密钥操作不匹配等。
处理步骤
错误信息
The file operation failed.
错误描述
操作文件失败。
可能原因
处理步骤
错误信息
IPC communication failed.
错误描述
IPC通信失败。
可能原因
处理步骤
查看错误信息,排查是否进程IPC通信问题。
错误信息
Crypto engine error or UKey driver error.
错误描述
算法库操作失败或者UKey驱动失败。
可能原因
该错误码表示算法库操作失败或者UKey驱动失败,可能原因如下。
处理步骤
错误信息
This credential is invalidated permanently.
错误描述
当前凭据已永久失效。
可能原因
该错误码表示密钥访问失败 - 密钥已失效,可能原因如下。
处理步骤
错误信息
The authentication token verification failed.
错误描述
用户令牌无法通过认证。
可能原因
该密钥设置了用户认证访问控制属性,由于challenge参数不正确导致无法通过认证。
处理步骤
错误信息
This authentication token timed out.
错误描述
当前用户令牌已超时。
可能原因
该密钥设置了用户认证访问控制属性,并指定了认证超时时间(timeout)。由于密钥init操作后未在timeout时间窗内完成用户认证,认证令牌超时失效,导致当前密钥会话失效。
处理步骤
如果是timeout导致不正确,则重新触发密钥init并重新认证,使得认证时间和密钥init时间小于设置的timeout时间。
错误信息
The number of key operation sessions has reached the limit.
错误描述
密钥操作会话数已达上限。
可能原因
HUKS密钥操作会话数已达上限(15个),无法处理更多同应用或跨应用的调用请求。
处理步骤
错误信息
Queried entity does not exist.
错误描述
目标对象不存在。
可能原因
该别名对应的密钥不存在。
处理步骤
错误信息
Device environment or input parameter abnormal.
错误描述
设备环境或输入参数异常。
可能原因
设备无证书、证书过期会导致需要使用证书的相关业务失败,例如在线匿名密钥证明、分布式密钥服务。
在线匿名密钥证明需要设备证书服务Device Certificate Kit与云端交互获取证书链,需要网络畅通。未联网、网络不稳定、网络超时等场景会导致在线匿名密钥证明失败。
匿名密钥证明涉及用户隐私,用户首次启用新设备时未同意OOBE(首次开机向导)中的隐私声明协议。
在线匿名密钥证明采用的是异步逻辑,有固定时间限制,设备证书服务Device Certificate Kit服务端与客户端连接超时会导致在线匿名密钥证明失败。
设备首次启动时注册各种Ability(例如生成、导入、导出、删除密钥、加密、解密、签名、验签、派生、哈希、MAC等)失败。
其它系统内部错误(IPC发送数据失败、NAPI层错误等)。
处理步骤
检查设备证书有效性:可调用Device Certificate Kit提供的证书查询接口,确认证书是否存在及是否在有效期内;若证书缺失或已过期,请参考Device Certificate Kit文档处理。
保证网络正常。
同意OOBE(首次开机向导)中的隐私声明协议。
可尝试重新调用在线匿名密钥证明接口,若问题持续,请参考Device Certificate Kit文档排查故障原因。
系统崩溃会导致Ability注册失败。可在DevEco Studio中打开 FaultLog,查看是否存在系统崩溃记录进一步分析。可尝试重启设备查看故障是否恢复。
在日志中搜索huks具体定位系统层面的其它错误。
错误信息
The credential does not exist.
错误描述
当前凭据不存在。
可能原因
密钥绑定PIN、指纹、人脸时,未录入相关凭据。
处理步骤
录入相关凭据,或更改绑定凭据类型。
错误信息
可能为以下的其中一种:
错误描述
可能为以下的其中一种:
可能原因
系统内存不足,或出参缓存太小。
处理步骤
错误信息
Failed to obtain the information via UserIAM.
错误描述
无法通过UserIAM获取认证相关信息。
可能原因
其他系统服务未启动。
处理步骤
开发者等待一段时间后尝试再次触发调用。
错误信息
A device password is required but not set.
错误描述
设备密码未设置。
可能原因
该密钥配置了依赖设备密码的用户访问认证属性,但设备密码未配置,导致无法操作。
处理步骤
先设置设备密码,再进行密钥操作。
错误信息
The key with the same alias already exists.
错误描述
同名密钥已存在。
可能原因
指定了不覆写同名密钥,但同名密钥已存在。
处理步骤
请根据业务需要检查是否应该覆写同名密钥。
错误信息
The input parameter is invalid.
错误描述
当前输入的参数无效。
可能原因
必选参数没有传入。
参数类型错误(Type Error)。
空参数错误(Null Argument Error)。
参数值范围错误(Value Range Error)。
处理步骤
请检查必选参数是否传入,或者传入的参数类型是否错误。对于参数校验失败原因,请阅读参数规格约束,按照可能原因进行排查。
错误信息
The provider is already registered.
错误描述
注册的provider已存在。
可能原因
重复注册同名provider,或之前注册的provider未注销。
处理步骤
检查注册的provider是否正确,如果确定没问题,则需要先注销,再注册。
错误信息
The provider operation failed.
错误描述
下游依赖的模块报错。
可能原因
下游依赖的模块报错。
处理步骤
根据下游返回的error code或者error message查看下游模块具体报错的原因。
错误信息
The UKey PIN is locked.
错误描述
UKey PIN码被锁定。
可能原因
PIN码输入错误次数过多导致被锁定。
处理步骤
咨询相关银行,解锁UKey。
错误信息
The UKey PIN is incorrect.
错误描述
UKey PIN码错误。
可能原因
PIN码输入错误。
处理步骤
输入正确PIN码。
错误信息
The UKey PIN is not authenticated.
错误描述
UKey PIN码未认证。
可能原因
执行操作需要进行PIN码认证,但实际PIN码尚未认证。
处理步骤
先完成UKey PIN码认证,再执行需要认证的操作。
错误信息
The provider or UKey is busy.
错误描述
设备或资源繁忙。
可能原因
设备或资源繁忙。
处理步骤
再次重试或者插拔UKey后重试。
错误信息
The resource exceeds the limit.
错误描述
资源超过限制。
可能原因
资源超过限制。
处理步骤
检查是否有未释放资源,释放已有资源后重试。
错误信息
the secure element is not available.
错误描述
安全元件故障。
可能原因
安全元件故障。
处理步骤
错误信息
The Internet is unavailable.
错误描述
网络不可用。
可能原因
设备网络连接不可用。
处理步骤
可能原因
对称加密算法的数据长度不正确。
非对称加密算法的数据长度不正确。
签名算法的数据长度不正确。
解决措施
确保对称加密算法数据长度满足要求:加密算法AES/ECB/NoPadding、AES/CBC/NoPadding要求明文长度是16字节的整数倍,AES/GCM要求HUKS_TAG_AE_TAG长度为16字节,AES/CCM要求NONCE长度是7~13字节,HUKS_TAG_AE_TAG_LEN长度要求4~16且为2的整数倍字节。
确保非对称加密算法数据长度满足要求:加密算法RSA/ECB/NoPadding要求明文长度等于密钥长度,RSA/ECB/PKCS1v1.5要求明文长度小于等于密钥长度-11字节,RSA/ECB/OAEP要求明文长度小于等于密钥长度-2*摘要长度-2。
确保签名算法数据长度满足要求:签名算法RSA/NoPadding/NoDigest要求消息长度等于密钥长度。
可能原因
前后传入的参数不一致,例如算法、分组模式、摘要、密钥长度等常用参数。
例如生成密钥时传入算法参数为AES,加密时传入的算法参数是RSA。
解决措施
检查前后传入的参数是否不一致。
可能原因
二次访问控制操作中获取认证类型、挑战值类型、访问类型、认证token失败或者认证类型无效、挑战值类型无效、访问类型无效、认证token无效。
二次访问控制设置HUKS_TAG_AUTH_TIMEOUT值过大。
解决措施
根据开发指导检查二次访问控制的各种参数类型是否正确。
二次访问控制的HUKS_TAG_AUTH_TIMEOUT参数有最大限制6小时,超过这个限制会报错。
可能原因
安全签名类型HUKS_TAG_KEY_SECURE_SIGN_TYPE传入无效的值。
解决措施
安全签名类型HUKS_TAG_KEY_SECURE_SIGN_TYPE只支持HUKS_SECURE_SIGN_WITH_AUTHINFO,其它均为无效类型。