如何开始使用Java卡?

时间:2011-08-25 12:28:28

标签: javacard

我是智能卡开发的新手。请帮助我了解如何开始。

  1. Java Card和JCOP之间的关系是什么?
  2. 如何将JCOP版本映射到GlobalPlatform Card Specification?例如,JCOP 2.4.1映射到什么规范?
  3. 我什么时候需要针对一个API而不是另一个API进行编码?
  4. 我在哪里可以找到入门的好教程?

5 个答案:

答案 0 :(得分:15)

  1. JCOP是一个最初来自IBM的软件平台,它实现了Javacard API和GlobalPlatform(以前称为Open Platform)。现在由恩智浦拥有和管理。
  2. JCOP 2.4.1?可能是GP 2.1.1。针对特定产品规格进行网络搜索。
  3. javacard和GP:
    • Javacard用于为智能卡平台编写应用程序 - javacard applets,使用Java编程语言和JVM和Java库的有限版本。
    • GlobalPlatform是一个用于管理applet感知智能卡的规范,用于定义以下内容的操作:
      • 管理卡生命周期,
      • 卡/主机身份验证,
      • 安装/删除/实例化/选择小程序,以及
      • 管理卡上的安全策略。
    • 使用GlobalPlatform,您可以将GPDU与GP卡交换以进行上述操作;使用javacard,您将编写可以接受和处理特定于您的应用程序的APDU的applet。 GlobalPlatform 不是特定于javacard,但javacard是智能卡applet开发的唯一相关技术。
  4. 对于javacard教程,请从javacard site开始。查看入门内容的文档部分。下载开发工具包,你会发现一些html howtos。对于GlobalPlatform,您需要从最新的GP规范开始;它肯定不是一个教程,但我认为你不会发现任何更有用的东西。该规范将需要强大的智能卡基础知识。另请参阅Required Things to start Smartcard Programming Using Javacard

答案 1 :(得分:7)

我在使用JavaCard时使用了这个优秀的教程:http://javacard.vetilles.com/tutorial/

答案 2 :(得分:2)

jcManager http://www.brokenmill.com/2010/03/java-secure-card-manager/ 附带源代码,这很有用

答案 3 :(得分:2)

这可能很有用 - 我花了一段时间来使旧版教程在真实硬件上工作(例如使用GP的物理Java卡),包括发送APDU等。我已将我的一些笔记收集到视频格式中,因为它是写下每件小事的工作太多了。

视频在这里:https://www.youtube.com/watch?v=oj2l0X8D4y0&hd=1基本上包括安装内容,构建程序,安装到Java Card以及通过Python与所述程序交谈的快速浏览。它非常基础但有时候你需要的......

答案 4 :(得分:-2)

我发现的两个最佳入门教程是:

  1. "Lecture 14 - Javacard" https://edux.pjwstk.edu.pl/mat/268/lec/lect14/lecture14.html
  2. 和JavaWorld上的这个,

    1. How to write a Java Card applet: A developer's guide
    2. 例如,代码中有一个标题为Learning的部分,在此Github仓库中,

      javacard-curated-list of applets

      为了了解通常涵盖的第一个主题,提到的第二个链接的标题是:

        

      构建applet

           

      指定小程序的功能

           

      指定AID

           

      定义applet的类结构和方法函数

           

      定义applet与其终端应用程序之间的接口

           

      APDU引物

           
          
      • 定义APDU命令

      •   
      • Javacard APDU类

             

        applet通过调用APDU对象上的方法来处理APDU命令。通常,它执行以下步骤:

             

        步骤1.检索APDU缓冲区

             

        步骤2.接收数据

             

        步骤3.返回数据

             

        步骤4.返回状态字

      •   
           

      构建applet代码

           

      实施错误检查

      本文由 Zhiqun Chen 撰写,他也写了the book Java Card Technology for Smart Cards