我想尽快开始智能卡编程。请帮助我使用javacard开始学习所需的东西。哪个IDE(如果有IDE支持),软件和硬件相关?像手机模拟器有任何智能卡模拟器或者如果我必须购买智能卡指定那些卡在哪里以及如何获得?
答案 0 :(得分:16)
关于智能卡编程的一般答案是,您应该准备好浏览令人困惑的工具和技术列表。通常情况下,智能卡开发人员首先考虑特定的硬件平台:比简单的 javacard 更具体。
由于您已经特别提到了javacard,我们可以专注于几个起点。
您可以从javacard dev kit开始。我没有使用最新的 - 我仍在使用2.0.2。这个开发工具包是非常面向命令行,所以期望在IDE之外完成大部分工作。但是,文档非常有用,可以让您快速上手。无论如何,它是一个很好的起点,因为它是正式的。
EclipseJCDE看起来也很有趣,但我还没有使用它。我似乎回想起另一个旨在构建javacard Eclipse工具的项目,但我可能只想到了EclipseJCDE。
IBM曾经发布并维护了一套与Eclipse IDE集成的JCOP工具。关于这一点的好处是他们会向你发送一个包含一些开发工具和一些JCOP卡的包。令人讨厌的是,需要激活码。看看here。下载链接仍然很好,祝好那里列出的电子邮件地址。另请注意,这些工具需要较旧的Eclipse版本。构建/调试支持非常好,包括内置的javacard模拟器。
如果您计划进行javacard编程,您还应该了解Global Platform。这是一个智能卡标准,在javacard的环境中,当您需要加载和管理javacard小程序时,您需要了解GP规范。这是使用JCOP卡所必需的。有关 GlobalPlatform卡规格的最新GP规格搜索。您需要非常熟悉基本的智能卡概念,例如:的APDU。
除了上面的JCOP之外,硬件选择太多了,我无法提出有用的建议。正如我所提到的,如果您可以使用IBM工具包,那么您将使用Eclipse工具获得一个好的JCOP / javacard模拟器。我确信还有其他卡模拟器可用。
除此之外,智能卡程序员使用了很多其他技术规范,不幸的是其中许多技术规范都不是免费提供的(ISO文档)。如果您要进行GSM编程,我认为您可以使用所有GSM规范,搜索 ETSI GSM规范。 GSM 11.11对于更多地了解APDU命令/响应特别有用,无需访问ISO规范,例如, ISO 7816-4。
答案 1 :(得分:3)
分享我在这里学习javacard的两个新的免费工具。希望能帮助其他人轻松开始使用javacard。
JCIDE:它是专为Java Card编程语言设计的集成开发环境。
PyAPDUTool:这是一个方便的工具,可以通过连接到PC的阅读器与卡通信。它是PC / SC兼容的应用程序。