如果有人想编写一个与物理设备交互的 Java 应用程序,特别是读卡器(例如,当你去酒店、健身房、银行等时,你将卡通过读卡器,应用程序在数据库中找到你)如何完成了吗?
是否有 java api 与阅读器交互并获取卡片数据?
当公司创建阅读器(物理设备)时,它是否提供相关的api?
物理细节是从应用程序程序员那里抽象出来的吗?
我需要与 Java 中的读者进行交互,但我不知道如何开始。
非常欢迎任何输入!
谢谢
如果有人想编写一个与物理设备交互的 Java 应用程序,特别是读卡器(例如,当你去酒店、健身房、银行等时,你将卡通过读卡器,应用程序在数据库中找到你)如何完成了吗?
是否有 java api 与阅读器交互并获取卡片数据?
当公司创建阅读器(物理设备)时,它是否提供相关的api?
物理细节是从应用程序程序员那里抽象出来的吗?
我需要与 Java 中的读者进行交互,但我不知道如何开始。
非常欢迎任何输入!
谢谢
您可以开始使用javax.smartcardio包。
它是允许智能卡交互的官方 Oracle 产品。这并不能解决设备通信的一般问题(在 Unix 中,只需/dev/whatever0
使用正确的权限打开,因为它是一个文件),但可以帮助您解决智能卡方案。
这取决于平台。例如 ORACLE 声明Java Communications 3.0 API可以使用:
Java Communications API(也称为 javax.comm)为应用程序提供对 RS-232 硬件(串行端口)的访问以及对 IEEE-1284(并行端口)、SPP 模式的有限访问。
这可以给你一个开端。
在这里,您有智能卡读卡器的通用 USB 驱动程序,以及可以检测何时插入新读卡器的守护程序,以及当读卡器启动与智能卡的连接(通过接触式或非接触式/NFC)时的一些诊断信息。 http://www.linuxnet.com/
jpcsc 然后可以用作卡的Java API,因此您可以读写。您已从阅读器硬件中抽象出来,但您仍然需要了解很多关于智能卡的细节 - 它使用哪个版本的 Javacard/GlobalPlatform,如果您想建立安全连接,使用哪些加密密钥,等等
或者您可以从 G&D、Oberthur、Gemalto 等智能卡制造商处购买完整的开发环境,包括卡、读卡器和 IDE(通常基于 Eclipse)......