将 Object 转换为 Java Card 中的 byte[]
Convert Object to byte[] in Java Card
如何在 Java 卡片小程序中将对象(PublicKey
的实例)转换为 byte[]
,反之亦然?
我正在使用 Java Card 2.1.1 和 JCDK 2.1.2。
Java Card 不提供任何内置机制来将 PublicKey
对象(或一般对象)序列化为字节数组或将字节数组反序列化回对象。
因此您需要手动执行此类操作 serialization/deserialization。对于实现 PublicKey
接口的对象,这意味着您首先需要找出它是哪种类型的关键对象,例如RSAPublicKey
。例如,如果您知道 public 键是 RSAPublicKey
,则可以提取类型 (getType()
)、大小 (getSize()
)、指数 (getExponent()
) 和模数 (getModulus()
) 参数并将它们存储到字节数组中。稍后,您可以通过提取这些值并使用 KeyBuilder.buildKey()
方法实例化一个新键来反序列化字节数组。
如何在 Java 卡片小程序中将对象(PublicKey
的实例)转换为 byte[]
,反之亦然?
我正在使用 Java Card 2.1.1 和 JCDK 2.1.2。
Java Card 不提供任何内置机制来将 PublicKey
对象(或一般对象)序列化为字节数组或将字节数组反序列化回对象。
因此您需要手动执行此类操作 serialization/deserialization。对于实现 PublicKey
接口的对象,这意味着您首先需要找出它是哪种类型的关键对象,例如RSAPublicKey
。例如,如果您知道 public 键是 RSAPublicKey
,则可以提取类型 (getType()
)、大小 (getSize()
)、指数 (getExponent()
) 和模数 (getModulus()
) 参数并将它们存储到字节数组中。稍后,您可以通过提取这些值并使用 KeyBuilder.buildKey()
方法实例化一个新键来反序列化字节数组。