@Test
public void testVerifySignature2() throws SignatureException {
BigInteger r = new BigInteger("c52c114d4f5a3ba904a9b3036e5e118fe0dbb987fe3955da20f2cd8f6c21ab9c", 16);
BigInteger s = new BigInteger("6ba4c2874299a55ad947dbc98a25ee895aabf6b625c26c435e84bfd70edf2f69", 16);
ECDSASignature sig = ECDSASignature.fromComponents(r.toByteArray(), s.toByteArray(), (byte) 0x1b);
byte[] rawtx = Hex.decode("f82804881bc16d674ec8000094cd2a3d9f938e13cd947ec05abc7fe734df8dd8268609184e72a0006480");
byte[] rawHash = HashUtil.sha3(rawtx);
byte[] address = Hex.decode("cd2a3d9f938e13cd947ec05abc7fe734df8dd826");
ECKey key = ECKey.signatureToKey(rawHash, sig);
assertEquals(key, ECKey.signatureToKey(rawHash, sig.toBase64()));
assertEquals(key, ECKey.recoverFromSignature(0, sig, rawHash));
assertArrayEquals(key.getPubKey(), ECKey.recoverPubBytesFromSignature(0, sig, rawHash));
assertArrayEquals(address, key.getAddress());
assertArrayEquals(address, ECKey.signatureToAddress(rawHash, sig));
assertArrayEquals(address, ECKey.signatureToAddress(rawHash, sig.toBase64()));
assertArrayEquals(address, ECKey.recoverAddressFromSignature(0, sig, rawHash));
assertTrue(key.verify(rawHash, sig));
}