1

我已经在我的 2.2.2 javacard 上安装了流行的 IsoApplet ( https://github.com/philipWendland/IsoApplet ) 并且已经能够使用pkcs11-toolandpkcs15-tool在卡上生成私钥并使用它们进行身份验证服务器通过 SSH。

另外,我能够成功地使用我的 Yubikey 5 ( https://www.yubico.com/products/services-software/personalization-tools/challenge-response/ ) 的挑战-响应来增加解密的安全性KeepassXC 数据库。

现在,我想将https://github.com/arekinath/YkOtpApplet添加到具有 IsoApplet 的同一个 javacard 中。外部应用程序如何与 javacard 上的单独应用程序交互?我可以将这两个应用程序放在同一个 javacard 上吗?限制只是卡上的存储空间吗?

我有两张卡可用:

  • 恩智浦 JCOP3 J3H145 Java 卡 3.0.4
  • JavaCOS A22 155K Java 卡 2.2.2
4

1 回答 1

3

是的,您可以将两个应用程序放在同一张卡上,唯一的限制是卡上的永久存储空间(除非其中一个应用程序与您的卡不兼容,例如,如果它需要卡操作系统未提供的某些加密功能) .

每个应用程序都有一个标识符,想象地命名为 AID,“应用程序 ID”,当应用程序安装在卡上时分配。当外部系统想要与卡交互时,第一个命令(称为SELECT)选择它想要与之交谈的应用程序,使用 AID 作为参数。然后任何后续命令都将路由到该应用程序,直到卡被重置或SELECT接收到另一个应用程序。

于 2020-04-03T08:44:31.743 回答