У меня есть небольшая проблема с моим апплетом. Он работает нормально, как и должно быть, на некоторых моих Java-картах, но на некоторых других картах он работает отрывочно! Он написан таким образом, чтобы посылать обратно массив, но он отправляет обратно только первый байт. Я пробовал разные способы, но он всегда отправляет только этот первый байт. Это карточная ошибка или что-то с моим приложением? Вот пример функции. Эта функция отлично работает и отправляет весь массив только в половине моих карт, а не во всех из них!javacard отправляет только один/первый массив формы байта
public void testA(APDU apdu)
{
Util.arrayCopyNonAtomic(keyParameters.getA(), (short) 0, apdu.getBuffer(), (short) 0, (short) keyParameters.getA().length);
apdu.setOutgoingAndSend((short) 0, (short)keyParameters.getA().length);
}
PS. Я использую 2 типа карт Gemalto, один из которых, вероятно, имеет NFC.
Я не думаю, что у нас есть достаточно информации, чтобы ответить на это. Пожалуйста, показывайте больше кода и точный результат как трассировка APDU. Пожалуйста, перечитайте вопрос (особенно название) перед публикацией. –
Я думаю, что в других частях вашей программы вы использовали специальный метод API, который поддерживает некоторые из ваших карт, а некоторые другие нет. И то, что вы получаете в плохих ситуациях, это не первый байт вашего массива, это слово состояния, которое показывает ошибку! Это просто догадка! – Abraham