Не удается проверить цифровую подпись с Java на Windows x86, подписанной на Linux x64 - PullRequest
2 голосов
/ 15 января 2012

Мне трудно найти причину проблемы.Суть проблемы в том, что 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 всегда работает.Никаких исключений не появляется.

Пожалуйста, поделитесь любыми идеями.

Спасибо!

...