huks ECC指纹认证签名验签报错

huks ECC指纹认证签名验签报错附件中文件说明:

1.testSign.ets:huks创建ecc密钥签名验签测试代码testSignVerify()可以成功签名验签。导出公钥和签名报文后,在原java代码上可以成功验签

2.testSign2.ets:testSign.ets基础上添加指纹认证访问控制后验签签名的测试代码

testSignVerify()在 VerifybyFingerprintAuth() 中执行 huks.finishSession 时报错12000012-System external error。导出公钥和签名报文后,在原java代码上验签失败

附:java验签代码:

public static boolean verify(String transaction, byte[] transactionSignature) { 
  try { 
    // byte[] pkbytes = UBFingerprintFunc.getPublicKey().getEncoded(); 
    byte[] pkbytes = Base64.decodeBase64("MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEISbXDoO9B2VG24A4VSRAZuZofs7FedROBVy14sD8zp8Mys+CYTN9OwtE/VlIWNmMSINAwCK9RJ9VysGQvVyuwA=="); 
    String base64String = EncryptTool.newString(Base64.encodeBase64(pkbytes)); 
    LogUtils.d("56458610", base64String); 
    // MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEitr8zap1BmDsZMp00PNTQf5oTNuwGMuxiTkN5Y+owxdzyd9jq/tfZ9e1EtFDNXGIyejqM1fsNnWr1frMqkawUg== 
    KeyFactory factory = KeyFactory.getInstance("EC"); 
    X509EncodedKeySpec spec = new X509EncodedKeySpec(pkbytes); 
    PublicKey verificationKey = factory.generatePublic(spec); 
    Signature verificationFunction = Signature.getInstance("SHA256withECDSA"); 
    verificationFunction.initVerify(verificationKey); 
    verificationFunction.update("nFD4nHHGIeleFkXvD1i5UA==,18743040743,G112969059,1706822684556".getBytes(FBConstants.EncoderUTF)); 
    if (verificationFunction.verify(Base64.decodeBase64("MEYCIQClg4KBrT6wsNzvHZB/QKfI8Enwbfqg6WWOKvgJHUyduAIhAMovu2PlMpz4aculaimdsQh0OqPbs6p6PFXO30x20z93"))) { 
      return true; 
    } 
  } catch (Exception e) { 
    LogUtils.d("56458610", e.getMessage()); 
  } 
  return false; 
}
HarmonyOS
2024-05-10 21:07:12
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

删掉签名的时候updateSession方法,在签名的时候只需要执行finishSession方法即可

分享
微博
QQ
微信
回复
2024-05-11 10:44:41
相关问题
HUKS用户认证通过PIN生成密钥
481浏览 • 1回复 待解决
多模块签名配置DevEcoStudio报错
6283浏览 • 2回复 待解决
ECC算法是否支持secp256r1
202浏览 • 1回复 待解决
签名不一致报错怎么回事?
1627浏览 • 1回复 待解决
4.1.0(11) fluterr 签无法通过
556浏览 • 1回复 待解决
Huks如何导入AES的密钥?
345浏览 • 1回复 待解决
升级鸿蒙后无指纹解锁
23146浏览 • 1回复 待解决
用户认证功能有哪些?
402浏览 • 1回复 待解决
mqtt emqx_auth_mysql认证
1392浏览 • 1回复 待解决
HVD Manager登录失败 已实名认证
7210浏览 • 1回复 待解决
网络请求怎么进行SSL证书认证?
2160浏览 • 1回复 待解决