Мне трудно найти причину проблемы.Суть проблемы в том, что Signature.verify всегда возвращает false.Подпись создана в Linux с архитектурой x64, и я проверяю в Windows x86.
Ниже приведен код для подписи
Signature dsa = Signature.getInstance("SHA1withDSA");
dsa.initVerify(getPublicKey());
byte[] licenseeB = licensee.trim().toUpperCase().getBytes("UTF-8");
dsa.update(= merge(0, encodedLicenseB, licenseeB));
return dsa.verify(signature);
Это код для подписи
byte[] encodedLicenseB = license.getEncoded();
byte[] licenseeB = license.getLicensee().trim().toUpperCase().getBytes("UTF-8");
Signature dsa = Signature.getInstance("SHA1withDSA");
dsa.initSign(getPrivateKey());
dsa.update(merge(0, encodedLicenseB, licenseeB));
byte[] signature = dsa.sign();
Подписание и проверка кода из IDE всегда работает.Никаких исключений не появляется.
Пожалуйста, поделитесь любыми идеями.
Спасибо!