5

在我的项目中,我想在智能卡上写入生物特征数据(如指纹模板)。经过一番很好的学习后,我为我的项目选择了 Java 卡。但我是这个平台的新手,对此知之甚少:(

我也阅读了 Sun 的教程,但无法解决一些困惑:

1.) 我只是想从卡上读取和写入生物特征数据,那么有必要在java卡上为其设计小程序吗?我不能使用智能卡读卡器的简单读/写功能来读/写智能卡内存上的生物特征数据吗?

2.) 如果我为 java 卡创建一个小程序,那么我将如何为它提供小程序 ID?每个小程序的小程序 ID 都是唯一的。而且,我如何知道预先创建的小程序的小程序 ID?

3.) 什么是应用协议数据单元 (APDU)?而且,他们将如何帮助我在卡上读取/写入数据?

我知道所有这些都是基本问题,但我真的很困惑。所以请各位大侠帮忙!

提前致谢。

4

3 回答 3

4

我将尝试回答您的问题:

1)如果卡上没有预装任何支持写入和读取生物特征数据的东西,您应该创建自己的小程序来完成这项工作。

2)关于AID,你是对的,你应该尝试让它独一无二。AID 的结构如下:5 字节 RID + 0..11 字节 PIX

RID 是应用程序提供者的唯一标识符。为了确保没有其他人使用您的 RID,您应该根据您的申请范围在国家或国际认证机构进行注册。虽然,注册 RID 不是强制性的,但唯一的要求是如果未注册,则应使用“F”作为 RID 的开头。如果您实施严重的应用程序,建议仅使用已注册的 AID。

PIX 是专有应用程序标识符扩展,提供的应用程序应保持其唯一性。

3) APDU 只是描述与您的小程序通信方式的协议。它将您要调用的指令与输入和输出数据一起包装。

于 2011-04-14T12:32:14.567 回答
3

APDU 是您发送到智能卡的“命令”。

Javacard(和安装在 javacard 上的小程序)支持特定的 APDU,具体取决于安装的小程序(以及用于安装小程序的特定 APDU)。javacard 文档是开始学习这方面的最佳场所。

一些智能卡预装了一些为生物特征数据预留空间的小程序;例如,“PIV”卡(和相关的小程序)。

如果您的卡没有预先安装用于存储生物特征数据的小程序,您将需要编写并安装一个。

希望这可以帮助。

于 2010-07-26T21:12:14.080 回答
1

APDU 命令示例: 00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01 CLA INS P1 P2 Lc 数据字段 Le

第一个字节:CLA,它是一个命令类型。例如 80 表示使用全局平台定义的命令。

第二字节:INS,指令代码。

第 3 个字节:P1,参数 1。

第 4 个字节:P2,参数 2。

第 5 和第 6 字节:数据长度,不包括 size、CLA、P1、P2 和 le 的长度。

第七。字节到最后一个字节:数据

Last Byte:Le,一般为 00。

如需更多信息,请参阅全球平台的文件。 http://globalplatform.org/specificationscard.asp

于 2013-02-28T12:30:04.610 回答