如何在 Java Card 小程序中将对象(PublicKey
的实例)转换为 byte[]
,反之亦然?
我正在使用 Java Card 2.1.1 和 JCDK 2.1.2。
最佳答案
Java Card 不提供任何内置机制来将 PublicKey
对象(或一般对象)序列化为字节数组或将字节数组反序列化回对象。
因此,您需要手动执行此类序列化/反序列化。对于实现 PublicKey
接口(interface)的对象,这意味着您首先需要找出它是哪种类型的 key 对象,例如RSAPublicKey
。例如,如果您知道公钥是 RSAPublicKey
,则可以提取类型 (getType()
)、大小 (getSize()
)、指数 (getExponent()
) 和模数 (getModulus()
) 参数并将它们存储到字节数组中。稍后,您可以通过提取这些值并使用 KeyBuilder.buildKey()
方法实例化一个新键来反序列化字节数组。
关于object - 在 Java Card 中将对象转换为 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996318/