huks sm2签名验签失败
huks 产生的 sm2密钥 服务端验签失败,生成密钥对代码:
let HUKS_TAG_ALGORITHM = huks.HuksKeyAlg.HUKS_ALG_SM2
let HUKS_TAG_KEY_SIZE = huks.HuksKeySize.HUKS_SM2_KEY_SIZE_256
let HUKS_TAG_DIGEST = huks.HuksKeyDigest.HUKS_DIGEST_NONE
let HUKS_TAG_USER_AUTH_TYPE = huks.HuksUserAuthType.HUKS_USER_AUTH_TYPE_FINGERPRINT
let gKeyProperties: HuksProperties[] = [
{
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: HUKS_TAG_ALGORITHM
},
{
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: HUKS_TAG_KEY_SIZE
},
{
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY
},
{
tag: huks.HuksTag.HUKS_TAG_USER_AUTH_TYPE,
value: HUKS_TAG_USER_AUTH_TYPE
},
{
tag: huks.HuksTag.HUKS_TAG_DIGEST,
value: HUKS_TAG_DIGEST
},
{
tag: huks.HuksTag.HUKS_TAG_KEY_AUTH_ACCESS_TYPE,
value: huks.HuksAuthAccessType.HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL
},
{
tag: huks.HuksTag.HUKS_TAG_CHALLENGE_TYPE,
value: huks.HuksChallengeType.HUKS_CHALLENGE_TYPE_NORMAL
},
{
tag: huks.HuksTag.HUKS_TAG_KEY_STORAGE_FLAG,
value: huks.HuksKeyStorageType.HUKS_STORAGE_ONLY_USED_IN_HUKS
}]
let options = {
properties: gKeyProperties
};
huks.generateKeyItem(keyAlias, options, (error, data) => {
if (error) {
reject(error);
} else {
resolve(data);
}
});
签名代码:
let HUKS_TAG_ALGORITHM = huks.HuksKeyAlg.HUKS_ALG_SM2
let HUKS_TAG_KEY_SIZE = huks.HuksKeySize.HUKS_SM2_KEY_SIZE_256
let HUKS_TAG_DIGEST = huks.HuksKeyDigest.HUKS_DIGEST_NONE
let sessionProperties: HuksProperties[] = [
{
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: HUKS_TAG_ALGORITHM
},
{
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: HUKS_TAG_KEY_SIZE
},
{
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN
},
{
tag: huks.HuksTag.HUKS_TAG_DIGEST,
value: HUKS_TAG_DIGEST
}
];
let options = {
properties: sessionProperties
};
huks.finishSession(handle, options, token, (error, data) => {
if (error) {
hilog.error(Constant.LOG_DOMAIN, Constant.UAF_LOG_TAG, "huks finishSession failed and reject:" + JSON.stringify(error));
reject(error);
} else {
resolve(data);
}
});
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HUKS的SM2签名验签的算法规格及开发步骤
946浏览 • 1回复 待解决
HarmonyOS SM2加签验签SM3摘要算法使用
298浏览 • 1回复 待解决
RSA签名后,后端验签失败
103浏览 • 1回复 待解决
HarmonyOS SM2依据已有的字符串的私钥和公钥进行签名和验签
330浏览 • 1回复 待解决
密钥库huks生成的sm2密钥场景下,获取签名所需userid值的方法。
669浏览 • 1回复 待解决
HarmonyOS SM2密钥对转换失败
448浏览 • 1回复 待解决
HarmonyOS 华为支付签名验签
109浏览 • 1回复 待解决
huks ECC指纹认证签名验签报错
1371浏览 • 1回复 待解决
密钥库生成sm2密钥,密钥对不能同时支持签名和加解密
116浏览 • 1回复 待解决
HarmonyOS Sm2和DES加解密问题
325浏览 • 1回复 待解决
HarmonyOS SM2,SM4国密加解密使用demo
140浏览 • 1回复 待解决
国密算法SM2签名api,没有可辨别标识IDA参数有什么实现方案
1554浏览 • 1回复 待解决
加解密操作,国密SM2以及SM4怎么使用?
2368浏览 • 1回复 待解决
签名验签算法不支持RSA|PKCS8|SHA1
145浏览 • 1回复 待解决
sm2 私钥单独方法封装后 数据无法解密
660浏览 • 1回复 待解决
如何使用国密SM2算法进行加解密
3526浏览 • 1回复 待解决
HarmonyOS 使用SHA256WithRSA签名算法验签,有现成的方案吗
395浏览 • 1回复 待解决
加解密(SM2,SM4),提供些案例demo作为开发自学参考
130浏览 • 1回复 待解决
4.1.0(11) fluterr 验签无法通过
855浏览 • 1回复 待解决
HarmonyOS 如何把公钥key转换成SM2的publicKey
328浏览 • 0回复 待解决
使用自定义公私钥执行SM2算法加解密操作
986浏览 • 1回复 待解决
HarmonyOS 已知RSA或者SM2私钥,如何生成ARKUI可用私钥对象
327浏览 • 1回复 待解决
能否提供SM2(国密)请求,HarmonyOS实现的demo样例
88浏览 • 1回复 待解决
HarmonyOS 如何将SM2证书解析成X509Cert对象
362浏览 • 1回复 待解决
网络请求能否实现国密SM2双向认证的https请求
1671浏览 • 1回复 待解决
签名验签的时候若是使用了SM2算法,则其摘要需要使用SM3。
参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/huks-signing-signature-verification-overview-V5