java应用程序从读卡器读取数据

时间:2011-01-15 19:19:04

标签: java device device-driver smartcard javacard

如果有人想编写一个与物理设备交互的Java应用程序,特别是读者(例如,当你进入酒店,健身房,银行等等,并且你将卡片通过读卡器并且应用程序发现你在数据库)这是怎么做到的? 是否有java api与读者进行交互并获取卡片数据? 当公司创建一个阅读器(物理设备)时,它是否提供相关的api?
是否从应用程序员中抽象出了物理细节? 我需要在java中与读者进行交互,但我不知道如何开始 任何意见都非常欢迎!

由于

3 个答案:

答案 0 :(得分:4)

您可以开始使用javax.smartcardio包。

这是允许智能卡交互的官方Oracle产品。这并不能解决设备通信的一般问题(在Unix中,只需打开具有正确权限的/dev/whatever0,因为它是一个文件),但可以帮助您解决智能卡问题。< / p>

答案 1 :(得分:3)

这取决于平台。例如,ORACLE声明Java Communications 3.0 API可以使用:

  

Java Communications API(也称为javax.comm)为应用程序提供对RS-232硬件(串行端口)的访问以及对IEEE-1284(并行端口),SPP模式的有限访问。

这可以给你一个启动。

答案 2 :(得分:0)

这里有智能卡读卡器的通用USB驱动程序,以及可以检测插入新读卡器的守护程序,以及读卡器启动与智能卡连接时的一些诊断信息(通过联系人或非接触式/ NFC )。 http://www.linuxnet.com/

然后jpcsc可以用作卡的Java API,因此您可以读写。您从读卡器硬件中抽象出来,但您仍然需要了解很多关于智能卡的具体信息 - 它使用哪个版本的Javacard / GlobalPlatform,如果要建立安全连接,将使用加密密钥,等

或者您可以从智能卡制造商(如G&amp; G)购买完整的开发环境,包括卡,读卡器和IDE(通常基于Eclipse)。 D,Oberthur,金雅拓......