我是Java卡小程序开发的新手。我想创建将我发送到公钥以便将来进行身份验证的应用程序。对于运动我使用RSA算法创建公钥和私钥。
keys = new KeyPair(KeyPair.ALG_RSA_CRT, KeyBuilder.LENGTH_RSA_2048);
keys.genKeyPair();
rsa_publicKey = (RSAPublicKey) keys.getPublic();
现在我想将公钥发送到我的主机application.i发现某种方式使用模数和指数发送公钥到主机应用程序。但我不知道如何实现那个。请一些人请帮助我实现发送公钥到主机应用程序.. 谢谢 SSV
答案 0 :(得分:2)
如果您已经拥有RSAPublicKey实例,那么很容易。你需要获得模数和指数的方法。两个get方法都将请求的值复制到一个字节数组中,您可以在结果APDU中返回。
请注意,对于没有扩展长度APDU的公共JavaCard,2048位RSA密钥会很大,以便在一个响应APDU中返回它。根据响应APDU中的可用字节,您甚至可能必须将模数和指数分成2个或更多部分,以便将它们返回到主机。