小程序ID';Java卡中的s和APDU

小程序ID';Java卡中的s和APDU,java,smartcard,applet,javacard,Java,Smartcard,Applet,Javacard,在我的项目中,我想在智能卡上写入生物特征数据(如指纹模板)。经过一些很好的学习,我为我的项目选择了Java卡。但我对这个平台不熟悉,对此知之甚少:( 我也读过Sun的教程,但无法解决一些困惑: 1.)我只想从卡中读取和写入生物特征数据,所以有必要在java卡上为其设计小程序吗?我不能使用智能卡读卡器的简单读/写功能来读/写智能卡存储器上的生物特征数据吗 2.)如果我为java卡创建了一个小程序,那么我将如何为它提供小程序id?小程序id对于每个小程序都是唯一的。我如何知道预创建的小程序的小程序i

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

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

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

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

3.)什么是应用协议数据单元(APDU)?他们将如何帮助我读/写卡片上的数据

我知道这些都是基本问题,但我真的很困惑。所以请帮帮大家

提前感谢。

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

javacard(以及安装在javacard上的小程序)支持特定的APDU,具体取决于安装的小程序(以及安装小程序的特定APDU)。javacard文档是开始了解这一点的最佳场所

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

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


希望这有帮助。

我将尝试回答您的问题:

1) 如果卡上没有预安装任何支持写入和读取生物特征数据的设备,则应创建自己的小程序来执行此操作

2) 关于援助,你是对的,你应该努力使它独一无二。援助的结构如下: 5字节RID+0..11字节PIX

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

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


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

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

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

第二字节:INS,指令代码

第3字节:P1,参数1

第4字节:P2,参数2

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

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

最后一个字节:Le,通常为00

有关更多信息,请参阅全球平台的文档。

如何为任何小程序定义apdu?