В моем приложении я проверяю цифровую подпись файла, подписанного с помощью вероятностной схемы подписи (PSS), используя SHA1 и RSA. Подписи создаются в J2SE с помощью BouncyCastle.
В приложении для Android до сих пор эта проверка работала нормально (например, 2.1, 2.2). При тестировании приложения на устройствах / симуляторе Android 2.3 я получаю исключение NoSuchAlgorithmException.
NoSuchAlgorithmException: Signature SHA1withRSA/PSS implementation not found
Соответствующий код, который я использую для проверки подписи, следующий:
Signature signature = Signature.getInstance("SHA1withRSA/PSS", "BC");
signature.setParameter(new PSSParameterSpec(64));
signature.initVerify(thePublicKey);
signature.update(theMessage.getBytes());
boolean signatureIsValid = signature.verify(theSignature);
Что произошло со времен Android 2.2, почему алгоритм «SHA1withRSA / PSS» был удален из провайдера «BC»?
У кого-нибудь есть альтернатива (которая в лучшем случае работает со всеми версиями Android)?
Спасибо!