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