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签名验签的算法规格及开发步骤
853浏览 • 1回复 待解决
HarmonyOS SM2加签验签SM3摘要算法使用
221浏览 • 1回复 待解决
HarmonyOS SM2依据已有的字符串的私钥和公钥进行签名和验签
235浏览 • 1回复 待解决
HarmonyOS SM2密钥对转换失败
387浏览 • 1回复 待解决
密钥库huks生成的sm2密钥场景下,获取签名所需userid值的方法。
594浏览 • 1回复 待解决
huks ECC指纹认证签名验签报错
1342浏览 • 1回复 待解决
密钥库生成sm2密钥,密钥对不能同时支持签名和加解密
15浏览 • 0回复 待解决
HarmonyOS Sm2和DES加解密问题
264浏览 • 1回复 待解决
国密算法SM2签名api,没有可辨别标识IDA参数有什么实现方案
1506浏览 • 1回复 待解决
加解密操作,国密SM2以及SM4怎么使用?
2299浏览 • 1回复 待解决
签名验签算法不支持RSA|PKCS8|SHA1
13浏览 • 0回复 待解决
sm2 私钥单独方法封装后 数据无法解密
595浏览 • 1回复 待解决
如何使用国密SM2算法进行加解密
3045浏览 • 1回复 待解决
HarmonyOS 使用SHA256WithRSA签名算法验签,有现成的方案吗
305浏览 • 1回复 待解决
4.1.0(11) fluterr 验签无法通过
812浏览 • 1回复 待解决
使用自定义公私钥执行SM2算法加解密操作
914浏览 • 1回复 待解决
HarmonyOS 已知RSA或者SM2私钥,如何生成ARKUI可用私钥对象
282浏览 • 1回复 待解决
HarmonyOS 如何把公钥key转换成SM2的publicKey
259浏览 • 0回复 待解决
HarmonyOS 如何将SM2证书解析成X509Cert对象
306浏览 • 1回复 待解决
加解密算法库框架不支持SM2算法的ECDH密钥协商
11浏览 • 0回复 待解决
网络请求能否实现国密SM2双向认证的https请求
1609浏览 • 1回复 待解决
是否必须使用SHA256的证书才能通过验签?
1592浏览 • 1回复 待解决
HarmonyOS cryptoFramework执行sm2加密后,生成的数据格式是不是ASN.1格式
235浏览 • 1回复 待解决
HarmonyOS RSA/ECB/PKCS1 秘钥长度为2048位加解密,验签
322浏览 • 1回复 待解决
sm2公钥私对的getEncode().data返回的二进制数据是什么格式的
452浏览 • 1回复 待解决
签名验签的时候若是使用了SM2算法,则其摘要需要使用SM3。
参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/huks-signing-signature-verification-overview-V5