Конвертировать объект в byte[] в Java Card
Как я могу преобразовать объект (экземпляр PublicKey
) чтобы byte[]
и наоборот в апплетах Java Card?
Я использую Java Card 2.1.1 и JCDK 2.1.2.
1 ответ
Java Card не предоставляет никакого встроенного механизма для сериализации PublicKey
объект (или объекты в целом) в байтовый массив или десериализацию байтового массива обратно в объект.
Следовательно, вам потребуется вручную выполнить такую сериализацию / десериализацию. Для объекта, который реализует PublicKey
интерфейс, это будет означать, что вам сначала нужно выяснить, какой тип ключевого объекта это, например, RSAPublicKey
, Например, если вы знаете, что открытый ключ является RSAPublicKey
, вы можете извлечь тип (getType()
), размер (getSize()
), показатель степени (getExponent()
) и модуль (getModulus()
) параметров и сохраните их в байтовом массиве. Позже вы можете десериализовать байтовый массив, извлекая эти значения и создавая новый ключ, используя KeyBuilder.buildKey()
метод.