Я тестирую цифровую подпись Java-карты и получаю ошибку сборки в Eclipse следующим образом:
метод verifyPreComputedHash (byte [], short, short, byte [], short,short) класса javacard.security.Signature не найден в файле экспорта security.exp или подпись метода изменилась.
Я вызываю метод со следующей строкой, где data и sig являются байтамимассивы (byte []) и другие являются шортами.
success = signature.verifyPreComputedHash(data, dataOffset, dataLength,
sig, sigOffset, sigLength);
Это соответствует спецификации спецификации 3.0.5 .
Я прочитал, чтоverifyPreComputedHash не существовало для 3.0.4 и более ранних версий, но я только что проверил, что мой Eclipse указывает на jcdk3.0.5u3 (Проект -> Свойства -> Java Card Runtime -> Главная страница Java Card SDK -> C: \ javacard \ jcdk3.0.5u3)
У меня также нет проблем с signature.ignPreComputedHash (), signature.verify () или signature.sign () ... Все они работают.
Наконец, файл«jcdk3.0.5u3 \ api_export_files \ javacard \ security \ javacard \ security.exp» не являетсялегко читаемый, но в файле появляется строка «verifyPreComputedHash».Для сравнения, в 3.0.4 security.exp нет строки «verifyPreComputedHash».Так что мне действительно не понятно, почему я получаю эту ошибку.
Есть мысли?