将公钥发送到java卡中的主机应用程序

时间:2013-07-04 07:11:46

标签: cryptography public-key-encryption javacard key-pair

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

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

现在我想将公钥发送到我的主机application.i发现某种方式使用模数和指数发送公钥到主机应用程序。但我不知道如何实现那个。请一些人请帮助我实现发送公钥到主机应用程序.. 谢谢 SSV

1 个答案:

答案 0 :(得分:2)

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

请注意,对于没有扩展长度APDU的公共JavaCard,2048位RSA密钥会很大,以便在一个响应APDU中返回它。根据响应APDU中的可用字节,您甚至可能必须将模数和指数分成2个或更多部分,以便将它们返回到主机。