Тема: SWaP коды
Показать сообщение отдельно
Старый 29.05.2020, 10:34   #414 (permalink)
Участник тусовки
 
Регистрация: 23.11.2018
Сообщений: 112
Вы сказали Спасибо: 25
Поблагодарили 9 раз(а) в 7 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Russia
По умолчанию

А есть пример валидации подписи? Попробовал накорябать на скорую руку, но у меня валидация не проходит с теми свапами которые были реально залиты:

String messageHex = "1107FFFFFFFF03blablabla";
BigInteger message = new BigInteger(messageHex, 16);
byte[] messageBytes =message.toByteArray();

String modulusHex = "your_public_key";
BigInteger modulus = new BigInteger(modulusHex, 16);
String exponentHex = "010001";
BigInteger exponent = new BigInteger(exponentHex, 16);
RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(modulus, exponent);
KeyFactory keyFac = KeyFactory.getInstance("RSA");
RSAPublicKey rsaPub = (RSAPublicKey) keyFac.generatePublic(pubKeySpec);
System.out.println(rsaPub);

String sigBytesHex = "your_sign";
BigInteger sigInteger = new BigInteger(sigBytesHex, 16);
byte[] sigBytes = sigInteger.toByteArray();

Signature signature1 = Signature.getInstance("SHA1withRSA");
signature1.initVerify(rsaPub);
signature1.update(messageBytes);

boolean result = signature1.verify(sigBytes);
System.out.println(result);
Paul43 вне форума   Ответить с цитированием