Расшифровать CryptoAPI SIMPLEBLOB на Java

Вот мой процесс:

CryptoAPI:

  1. Генерация сеансового ключа AES
  2. Используйте открытый ключ получателя для шифрования и экспорта (1) в SIMPLEBLOB
    с RSA
  3. Отправить SIMPLEBLOB получателю

Джава:

  1. Получатель получает (3)
  2. Получатель хочет расшифровать SIMPLEBLOB, используя свой закрытый ключ

Я думаю, это довольно стандартно. Существует необходимость в обратном порядке полученного байтового массива (начиная с шага 4 выше). Однако по какой-то причине количество полученных байтов превышает максимально допустимое количество байтов, которое алгоритм RSA может расшифровать. Ошибка «javax.crypto.IllegalBlockSizeException: данные не должны быть длиннее 256 байт». Так что происходит что-то еще, чего я не понимаю. Может кто-нибудь объяснить, как правильно расшифровывать SIMPLEBLOB в Java? Ресурсы помогут.

0

Решение

Посмотрите на эту страницу: Структура SIMPLEBLOB
Первые 12 байтов блоба принадлежат BLOBHEADER. Чтобы расшифровать ключ, начните с 12-й позиции зашифрованного большого двоичного объекта.

0

Другие решения

Других решений пока нет …