使用 Javacard 开始智能卡编程所需的东西
我想尽快开始智能卡编程。请帮助我开始学习使用 javacard 所需的东西。哪种 IDE(如果有 IDE 支持)、软件和硬件相关?就像手机模拟器一样,是否有任何智能卡模拟器,或者如果我必须购买智能卡,请指定这些卡在哪里以及如何获得?
I wanted to start with the smartcard programming soon. Please help me the things required for starting the learning using javacard. Which IDE (If any IDE Supports), Software and Hardware related? Like Mobile phone simulator is there any smartcard simulator or else if I have to buy a smartcard specify those cards where and how I can get?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
关于智能卡编程的一般答案是,您应该准备好浏览令人困惑的工具和技术列表。通常,智能卡开发人员首先考虑的是特定的硬件平台:比简单的javacard更具体。
既然您特别提到了 javacard,我们可以重点关注几个起点。
Javacard SDK
您可以从 javacard 开发工具包。我没有使用过最新的 - 我仍在使用 2.0.2。该开发工具包非常面向命令行,因此您需要在 IDE 之外完成大部分工作。然而,该文档非常有帮助,应该可以让您很快上手。无论如何,这是一个很好的起点,因为它是官方的。
EclipseJCDE看起来也很有趣,但我没用过。我似乎记得另一个旨在构建 javacard Eclipse 工具的项目,但我可能只是想到 EclipseJCDE。
IBM 工具
IBM 曾经发布并维护了一组与 Eclipse IDE 集成的 JCOP 工具。最棒的是,他们会向您发送一个包含一些开发工具和几张 JCOP 卡的软件包。烦人的是需要激活码。请查看此处。下载链接仍然有效,祝你好运,那里列出的电子邮件地址。另请注意,这些工具需要较旧版本的 Eclipse。构建/调试支持非常好,包括内置的 javacard 模拟器。
Global Platform
如果您打算进行 javacard 编程,您还应该了解 Global Platform。它是一个智能卡标准,在 javacard 的上下文中,当您需要加载和管理 javacard 小程序时,您需要了解 GP 规范。这是使用 JCOP 卡所必需的。如需最新的 GP 规范,请搜索GlobalPlatform 卡规范。您需要非常熟悉基本的智能卡概念,例如 APDU。
硬件
硬件选择多种多样,除了上面的 JCOP 之外,我无法提出有用的建议。正如我提到的,如果您可以使用 IBM 套件,那么您将获得一个带有 Eclipse 工具的良好 JCOP/javacard 模拟器。我确信还有其他卡模拟器可用。
除此之外
,还有一长串智能卡程序员使用的其他技术规范,不幸的是其中许多都不是免费提供的(ISO 文档)。如果您要进行 GSM 编程,我认为您可以了解所有 GSM 规范,搜索ETSI GSM 规范。 GSM 11.11 对于了解有关 APDU 命令/响应的更多信息特别有用,无需访问 ISO 规范,例如 ISO 7816-4。
A general answer regarding smartcard programming is that you should be ready to navigate a confusing list of tools and technologies. Typically smartcard developers begin with a specific hardware platform in mind: more specific than simply javacard.
Since you've specifically mentioned javacard, we can focus on a few starting points.
Javacard SDK
You might begin with the javacard dev kit. I haven't used the most recent - I'm still using 2.0.2. This dev kit is very command-line oriented, so expect to be doing most of your work outside an IDE. However, the documentation is pretty helpful and should get you up to speed pretty quickly. At any rate, it's a good place to start, since it's official.
EclipseJCDE also looks interesting, but I haven't used it. I seem to recall another project aiming to build javacard Eclipse tools, but I may just be thinking of EclipseJCDE.
IBM Tools
At one time IBM published and maintained a set of JCOP tools that integrated with the Eclipse IDE. The great thing about this is that they would send you a package containing some dev tools and a couple of JCOP cards. The annoying thing is that an activation code was required. Have a look here. The download link is still good, good luck with the email address listed there. Also note that these tools require an older build of Eclipse. The build/debug support is very good, including a built-in javacard simulator.
Global Platform
If you plan on doing javacard programming, you should also get to know Global Platform. It's a smartcard standard, and in the context of javacard, you'll need to know about the GP spec when you need to load and manage javacard applets. This is required for working with JCOP cards. For the latest GP spec search for GlobalPlatform Card Specifications. You'll need to be very familiar with basic smartcard concepts, e.g. APDUs.
Hardware
Hardware choices are too varied for me to make useful recommendations, beyond the JCOP stuff above. As I mentioned, if you can use the IBM kit then you'll get a good JCOP/javacard simulator with the Eclipse tools. I'm sure there are other card simulators available.
etc.
Beyond that there is a long list of other technical specifications employed by smartcard programmers, and unfortunately many of them aren't freely available (ISO docs). If you'll be doing GSM programming, I think you can get to all of the GSM specs, search for ETSI GSM specifications. GSM 11.11 is particularly useful for learning more about APDU command/response, without access to ISO specs, e.g. ISO 7816-4.
在这里分享我用来学习javacard的两个新的免费工具。希望可以帮助其他人轻松开始使用javacard。
JCIDE:它是专门设计的集成开发环境用于 Java Card 编程语言。
PyAPDUTool:这是一个方便的通信工具通过读卡器将卡与PC连接。它是一个符合 PC/SC 标准的应用程序。
Share two new Free tools that I am using to learn javacard here.Hope to help others get started with javacard easily.
JCIDE: It is an Integrated Development Environment designed specifically for the Java Card programming language.
PyAPDUTool: It is a handy tool which can communicate with the card via the reader connected to PC. It is a PC/SC compliant application.