2017-02-04 27 views
0

Я грубо потратил около недели, чтобы написать алгоритм Sign In 2048 RSA для моей java-карты.Как RSA Вход в java-карту?

Есть слишком много проблем, как отправка и получение большого количества байтов и так далее ...

кто-нибудь может помочь:

1) отправлять и получать суммы больше, чем 256 байт на карту

2) как правильно Sign и Verify с использованием java-карты?

Спасибо заранее,

+0

Я думаю, что полезно предупредить вас о [моей ошибке в прошлом с шифрованием RSA] (http://stackoverflow.com/questions/38059175/rsa-encrytion-throws-an-exception-intermittently-on- JavaCard). – Abraham

+0

@Abraham Спасибо за предупреждение. у вас есть представление о отправке/получении 2048 байт и более, а также о том, как реализовать RSA 2048 Вход в java-карту? Я нашел несколько примеров PDF, но они не были полезны. – MJay

ответ

2

Для подписи вы можете просто использовать update method of the Signature class. Вы должны иметь возможность отправлять столько данных, сколько хотите, если используете алгоритм подписи , который содержит хэш-алгоритм, такой как ALG_RSA_SHA_256_PKCS1_PSS. Для более старых версий карт используйте ALG_RSA_SHA_256_PKCS1. Чтобы отправить данные, вы можете просто использовать несколько команд вместо одного или вы могли бы использовать команду command chaining, как указано в IS 7816-4.

В качестве альтернативы вы должны иметь возможность вычислить (часть) значение хэша в автономном режиме и использовать this method, если он присутствует и реализован (он относительно новый, начиная с версии 3.0.4).

Размер выходного файла 256 байтов должен соответствовать точно одному APDU ответа для 99% реализаций, поэтому у вас не должно быть проблем с отправкой ответа.

 Смежные вопросы

  • Нет связанных вопросов^_^