gpt4 book ai didi

java - 如何使用我们在SD卡中创建的 key (符合全局平台的智能卡)

转载 作者:行者123 更新时间:2023-12-01 05:15:47 26 4
gpt4 key购买 nike

我实际上正在做一个项目,使用SD卡(使用java卡技术的智能卡)来实现一些功能,例如:与另一张卡(客户端)进行相互身份验证。所以我写了一些java卡小程序,但现在我有一个问题:

从卡规范或全局平台规范的那些引用文献中,我没有找到一种方法来重用卡上的 key (不是在卡外创建 key 存储库), 首先我试图在api dispo中找到一些方法,但我没有找到;那么事实上我必须在java卡小程序中编写程序,那么我如何检索/访问/使用卡上现有的键集;为了在身份验证中使用加密?

有人可以帮忙吗?

最佳答案

只需将 key 保存到小程序中的变量中即可。默认情况下,所有变量都是持久的。

您当然可以实现导入/导出功能,允许在小程序安装后将现有 key 对安装到小程序中。

更新

不要处理安全域 - 如果您想从小程序内访问 key ,请将其存储在内部。

例如,使用 RSA key ,您可以逐字段导入它(例如 RSA 公钥的模数和指数)。为了导入,您必须将所有内容传输为 byte[] 形式。然后可以使用一个或多个 APDU 将字节数组传输到卡中。如果字节数组对于一个 APDU 的有效负载数据来说太长,则需要多个 APDU。

一旦您传输了指数或模数的数据,您就可以创建公钥实例,然后设置它的组件。

RSAPublicKey pub = KeyBuilder.buildKey(ALG_RSA, LENGTH_RSA_1024);
pub.setExponent(...);
pub.setModulus(...);

如果将创建的 RSAPublicKey 实例保存在小程序类的字段变量中,则可以确保该实例已永久保存。

您可以使用相同的方式创建私钥和其他加密算法的 key 。

关于java - 如何使用我们在SD卡中创建的 key (符合全局平台的智能卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com