更新:关键方面是kp
(密钥对)是在此代码“外部”生成的。此代码是onclick函数,而kp
在设置onclick的代码中定义。无所谓,但这似乎是问题所在,这是莫名其妙的。
以下代码有什么问题?它始终为验证b
打印(日志)false,即使数据是相同的字符串"foo"
并且签名与先前在代码sig
val sig = Signature.getInstance("SHA256withECDSA").run {
initSign(kp.private)
update("foo".toByteArray())
sign()
}
Log.d(tag, "sig: " + sig.toString())
val o = Signature.getInstance("SHA256withECDSA")
o.initVerify(kp.public)
o.update("foo".toByteArray())
val b = o.verify(sig)
Log.d(tag, b.toString())