JavaCard: RSAPrivateKey.setModulus выдает CryptoException.ILLEGAL_VALUEJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JavaCard: RSAPrivateKey.setModulus выдает CryptoException.ILLEGAL_VALUE

Сообщение Anonymous »

Я работаю над апплетом JavaCard, и сейчас мне нужно вычислить модульную экспоненциальную операцию. Для этого я использовал самомодифицированную версию JCMathLib, которая в конечном итоге использует RSAPrivateKey для обработки операции, особенно в файле BigNat.java. Однако, когда я запускаю это на своей карте, строка 291 выдает CryptoException с код причины ILLEGAL_VALUE.
В документации для RSAPrivateKey.setModulus на JavaCard говорится, что метод генерирует исключение CryptoException, подобное этому, «если длина данных входного модуля несовместима с реализацией или если расшифровка входных данных требуется и терпит неудачу». Я не уверен, но не думаю, что в этом сценарии требуется расшифровка входных данных, поэтому я предполагаю, что длина данных модуля «несовместима с реализацией». Однако я не уверен, что будет соответствовать реализации. Кто-нибудь знает, что определяет правильную входную длину модуля и измеряется ли эта длина в битах или байтах?
Для справки: модуль, который я хочу использовать, в его исходной форме равен 32 длиной в байтах. Код дополняет его до 64 байтов (rm.MAX_EXP_LENGTH) нулями (в начале) перед передачей в качестве входных данных для вызова setModulus. Та же длина указывается в качестве аргумента длины. Когда рассматриваемый объект RSAPrivateKey был создан с помощью KeyBuilder, ему была присвоена длина 512 бит, что соответствует 64 байтам.
Я также пытался передать 512 в качестве аргумента длины в случае, если длина измеряется в битах, но это приводит к исключению IndexOutOfBoundsException, которое указывает, что ему действительно нужны байты. Однако я все равно хочу спросить, чтобы убедиться.
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/788 ... egal-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»