17

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

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

5 回答 5

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

我在开始使用 JavaCard 时使用了这个出色的教程:http: //javacard.vetilles.com/tutorial/

于 2014-12-17T11:45:06.177 回答
3

这可能很有用 - 我花了一些时间来获取有关真实硬件(例如物理 Java 卡与 GP)的旧教程,包括发送 APDU 等。我已经将我的一些笔记收集成视频格式,因为编写工作量太大放下每一件小事。

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

于 2014-07-07T14:56:04.400 回答
2

jcManager http://www.brokenmill.com/2010/03/java-secure-card-manager/ 自带源码,很好用

于 2011-08-25T22:54:54.347 回答
-1

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

  1. “第 14 讲 - Javacard” https://edux.pjwstk.edu.pl/mat/268/lec/lect14/lecture14.html

而这个在 JavaWorld,

  1. 如何编写 Java Card 小程序:开发人员指南

例如代码在这个 Github repo 中有一个标题为Learning的部分,

javacard-curated-list of applet


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

构建小程序

指定小程序的功能

指定 AID

定义小程序的类结构和方法功能

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

APDU 入门

  • 定义 APDU 命令

  • Javacard APDU 类

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

    步骤 1. 检索 APDU 缓冲区

    步骤 2. 接收数据

    步骤 3. 返回数据

    Step 4. 返回状态字

构建小程序代码

实施错误检查

本文由陈志群撰写,他还撰写了《Java Card Technology for Smart Cards 》一书

于 2018-03-31T22:03:16.563 回答