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
相关问题
多模块签名配置DevEcoStudio报错
5770浏览 • 2回复 待解决
升级鸿蒙后无指纹解锁
22349浏览 • 1回复 待解决
签名不一致报错怎么回事?
1113浏览 • 1回复 待解决
4.1.0(11) fluterr 签无法通过
153浏览 • 1回复 待解决
mqtt emqx_auth_mysql认证
956浏览 • 1回复 待解决
网络请求怎么进行SSL证书认证?
1576浏览 • 1回复 待解决
编译打包的签名怎么管理
462浏览 • 1回复 待解决
荣耀30手机升级鸿蒙后指纹无法使用
7093浏览 • 1回复 待解决
HVD Manager登录失败 已实名认证
6724浏览 • 1回复 待解决
鸿蒙java开发 有实人认证方案吗?
2575浏览 • 1回复 待解决
适配OpenHarmony是否必须要过XTS认证
323浏览 • 0回复 待解决
对openHarmony应用进行签名时失败了
7347浏览 • 3回复 已解决
鸿蒙应用如何判断是否使用debug签名?
1537浏览 • 1回复 待解决