diff --git a/javaee/rt/src/java/foundation/icon/ee/util/Crypto.java b/javaee/rt/src/java/foundation/icon/ee/util/Crypto.java index 26e845171..bf8b50390 100644 --- a/javaee/rt/src/java/foundation/icon/ee/util/Crypto.java +++ b/javaee/rt/src/java/foundation/icon/ee/util/Crypto.java @@ -146,7 +146,9 @@ public static byte[] aggregate(String type, byte[] prevAgg, byte[] values) { public static byte[] recoverKey(byte[] msgHash, byte[] signature, boolean compressed) { BigInteger r = BigIntegers.fromUnsignedByteArray(signature, 0, 32); BigInteger s = BigIntegers.fromUnsignedByteArray(signature, 32, 32); - return recoverFromSignature(signature[64], r, s, msgHash, compressed); + var k = recoverFromSignature(signature[64], r, s, msgHash, compressed); + require(k != null, "invalid signature"); + return k; } public static byte[] getAddressBytesFromKey(byte[] pubKey) {