1

我是 Java 卡小程序开发的新手。我想创建将我发送到公钥以进行未来身份验证的应用程序。对于该运动,我使用 RSA 算法来创建公钥和私钥。

keys = new KeyPair(KeyPair.ALG_RSA_CRT, KeyBuilder.LENGTH_RSA_2048);
        keys.genKeyPair();
        rsa_publicKey = (RSAPublicKey) keys.getPublic();

现在我想将公钥发送到我的主机应用程序。我找到了一些使用模数和指数的方法将公钥发送到主机应用程序。但我不知道如何实现那个。请有人帮我实现将公钥发送到主机应用程序.. 感谢 SSV

4

1 回答 1

2

如果您已经拥有 RSAPublicKey 实例,这很容易。那里你必须获得模数和指数的方法。两种 get 方法都将请求的值复制到一个字节数组中,您可以在结果 APDU 中返回。

请注意,对于没有扩展长度 APDU 的普通 JavaCard,2048 位 RSA 密钥对于在一个响应 APDU 中返回它来说太大了。根据响应 APDU 中的可用字节,您甚至可能必须将模数和指数拆分为 2 个或更多部分,以便将它们返回给主机。

于 2013-07-04T12:17:16.110 回答