我正在升级现有的嵌入式应用程序(Ricoh MFP)以支持 Omnikey 5321 v2 和 Omnikey 5325 读卡器以进行身份验证。现在,我将把 5325 模型放在一边(但任何相关提示都会有所帮助)并专注于 5321 模型。我只使用非接触式读卡器和标准 Mifare 1K 卡。部署环境是基于 JVM 1.4 的自定义 VM(在有人回答之前,告诉我升级 VM 是没有用的,那不是我的电话)。 Ricoh 提供了一些自定义库来处理智能卡,但是当涉及到 PC/SC 规范时,我无法让它处理非接触式卡(这个库似乎被设计为只处理接触式卡)。我已经联系了他们的开发支持,但他们回答的时间太长了,我不能再浪费时间了,所以我来了。
我的问题是,因为我不能让它与 Ricoh 库一起工作,是否有一些库可以单独使用 JDK 1.4 来处理非接触式阅读器/智能卡?或者甚至外部库也可以,只要它们符合 1.4 标准。我用谷歌搜索并找到了一个同时匹配我的读卡器和卡的解决方案,但它适用于 Java 6。我认为我可以使用其中的一些(例如 APDU 命令表),但肯定不能使用 javax.smartcardio 包。
对于 Java 6(以防万一有人需要它):http://www.pikopong.com/blog/2009/02/11/reading-mifare-1k-card-using-java-in-linux/
提前致谢。
最佳答案
你试过了吗http://jmrtd.org/installation.shtml是的,它说的是 1.6,但您可以向后移植您的应用程序所需的内容。虽然是 GPL。
另外对linux下的依赖很有用,主要是PCSC-Lite,开发自己的native和java之间的胶水。
关于Java 和非接触式智能卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498266/