首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过读卡器使用Java激活/打开ICC卡?

如何通过读卡器使用Java激活/打开ICC卡?
EN

Stack Overflow用户
提问于 2012-01-06 11:31:33
回答 1查看 1.7K关注 0票数 0

我正在编写一个当前使用Java与智能卡交互的应用程序。我有一个欧姆龙V2BF系列读卡器。该应用程序在Debian上运行。

我已尝试使用Java Smart Card I/O API尝试与智能卡建立连接。

但是我无法检测/获取任何使用

代码语言:javascript
运行
复制
    TerminalFactory factory = TerminalFactory.getDefault();
    List<CardTerminal> terminals = factory.terminals().list();

我也试着通过发送一个命令包到OMRON阅读器来使用“按下并激活(冷重置) ICC”,但是响应总是“否定”。

我能知道我哪里做错了吗?任何建议都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-06 11:52:05

默认情况下,factory.terminals().list()仅向您显示与PCSC兼容的设备。我没有看到任何关于PCSC支持当前阅读器的信息。请查阅文档或咨询供应商。

您的智能卡应该是与javax.smartcardio兼容的ISO7816-4智能卡,存储卡将无法工作。javax.smartcardio基本上与CommandAPDU和ResponseAPDU一起使用,这是用于“处理器”卡的ISO7816-4兼容数据结构。

您可能无法使用读卡器制造商提供的接口规范通过串行接口与读卡器通信。您可以使用Java Communications API来完成此操作。

请注意,许多制造商将以C/C++甚至.NET提供示例代码和库,在这种情况下,可以选择切换编程语言/平台或围绕本机代码创建JNI。

如果您正在为处理器卡(例如信用卡)写作,您甚至可以自己创建一个与javax.smartcardio兼容的终端并将其插入终端列表中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8753042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档