SHA256 с ECDSA Подпись не проверяется, Android - PullRequest
0 голосов
/ 27 мая 2018

Обновление: Критическим аспектом является то, что kp (пара ключей) генерируется "вне" этого кода.Этот код является функцией onclick, тогда как kp определен в коде, который устанавливает onclick.Не должно иметь значения, но вот в чем проблема, и это необъяснимо.

Что не так со следующим кодом?Он всегда печатает (регистрирует) ложь для проверки b, даже если данные - это та же строка "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())
...