我需要通过智能卡读卡器读取Maestro/Mastercard的帐号.我正在使用Java 1.6及其javax.smartcardio包.我需要发送APDU命令,它会询问存储在卡芯片上的EMV应用程序的PAN号.问题是,我找不到常规的字节数组来构造APDU命令,它会在任何地方返回所需的数据......
我正在寻找APDU找到联系少的ISO 14443智能卡的UID以及如何使用它在Linux终端上打印.问题是我发现很多人都在谈论它,但没有解决方案.谁能帮到这方面呢??? 谢谢
我有一个phonegap/cordova应用程序,我想用Precise Biometric的智能卡Tactivo阅读器保护.我是智能卡集成的新手,而精确生物识别技术似乎没有非常丰富的文档.但是我发现我需要为phonegap创建自己的插件才能使用读卡器.
我的问题是:是否已经为此创建了一个插件,或者有人发布了我需要的插件代码示例?
到目前为止,我在plugin.xml文件中有这个代码:
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:rim="http://www.blackberry.com/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
id="cordova-plugin-device"
version="1.0.0-dev">
<name>smartCard</name>
<description>Cordova smartCard Plugin</description>
<license>Apache 2.0</license>
<keywords>cordova,smartCard</keywords>
<repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git</repo>
<issue>https://issues.apache.org/jira/browse/CB/component/12320648</issue>
<js-module src="www/smartCard.js" name="smartCard">
<clobbers target="smartCard" />
</js-module>
...
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="smartCard" >
<param name="android-package" value="org.apache.cordova.smartCard.SMARDCARD"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="com.precisebiometrics.android.mtk.manager.permission.BIOMETRIC_DATA" />
</config-file>
<source-file src="src/android/smartCard.java" target-dir="src/org/apache/cordova/smartCard" />
<js-module src="www/smartCardHandle.js" name="smartCardHandle">
<clobbers target="smartCardrHandle" />
</js-module>
</platform>
Run Code Online (Sandbox Code Playgroud)
www/*.js文件中没有代码
我只想指出正确的方向.谢谢.
我正在尝试使用非接触式OmniKey 5321读卡器读取智能卡信息.
编辑:添加了赏金.
我正在.NET 3.5程序中编写C#3,所以这是一个Windows应用程序.
该卡上印有一些信息,我会假设,卡片数据中存在某些信息(下面有卡片和读卡器的照片.)
该卡上印有以下信息:
1* 00447 21091328-32
使用OmniKey读卡器附带的诊断应用程序时,我会收到以下信息:
Smart Card Name: iCLASS 16KS UID:EE 74 0E 00 FB FF 12 E0 ATR : 3B 8F 80 01 80 4F 0C A0 00 00 03 06 0A 00 1A 00 00 00 00 78 Protocol : ISO 15693 (Part 2)
现在,我已经考虑了一些转换:
这是我的问题:
这是照片,如果它给你任何信息.

uniqueidentifier smartcard smartcard-reader winscard iso-15693
我应该如何开始使用C#(.NET)编程智能卡?首先我只需要知道,读卡器的名称是什么(例如Omnikey)并将其打印出来.
感谢答案,Ales.
我是Java Card Programming(使用netbeans)的新手.我在Java Card Development Quick Start页面中做了所有事情,我创建了一个经典的卡片小程序,并尝试模拟它.但是当我尝试在设备控制台上模拟并发送命令时,它会发送错误
"Connection refused: connect".
我不明白,有什么不对.
有什么建议?
这是它的屏幕截图:
什么APDU命令获得7个字符的卡ID?我使用T = CL(ISO7816)pritocol和ISO14443层.在检测卡上,我只能看到4个字符的卡ID.我搜索了,这是获取卡ID的APDU命令.例如它:
0xFF, 0xCA, 0x00, 0x00, 0x00
但是thouse命令的结果是:6E 00,关于APDU答案规范的结果告诉"类不支持"
后来我发现,它的APDU命令可能为:
0x00, 0xCA, 0x00, 0x00, 0x00
此命令返回6A 88
那里6A XX- "错误的参数(S)P1-P2"和88- "引用数据未找到"
你怎么想的?
谢谢!
ps所有命令为:CLA, INS, P1, P2, LenData, Data
其他我的命令正常工作(例如选择aplet并使用它),仅在获取卡ID时出现问题
我正在尝试使用javax.smartcardio 读取智能卡(德语Gesundheitskarte)
在EF"PD" 的定义中,其长度指定为850字节.内容应该是这里指定的gzip压缩的ISO5589-15编码XML字符串
作为我发送的CommandAPDU
00 B0 00 00 00
Run Code Online (Sandbox Code Playgroud)
得到前256个字节.发送后
00 B0 00 FF 00
Run Code Online (Sandbox Code Playgroud)
我得到接下来的256个字节.
但我怎么得到其余的?
我怎么知道二进制数据何时结束?
我正在开发一个smartcardio用于处理智能卡的Java应用程序.必须有一个可以移除其USB读卡器,然后再次插入它而无需再次启动小程序.
我正在使用terminals()和waitForChange()方法来检测终端更改,它在Linux,MacOS和Win7上运行良好.
但是在Windows 8(仅限Windows 8)上,删除最后一个终端后,这些方法抛出一个SCARD_E_NO_SERVICE CardException,并且不再检测到任何更改.
我不确定它所说的"服务"是什么.但是当我打电话TerminalFactory.getDefault()给一个TerminalFactory单身人士时,我认为这是在我的主题中启动的.而且我认为这个单例可能有办法管理底层服务,这就是被打破的.
有没有人smartcardio在Windows 8 上如何管理终端断开?
这个问题专门与MIFARE Ultralight C / EV1或MIFARE DESFire EV1甚至NTAG卡有关。我想实现一个令牌系统,以便普通用户每次读取其中一张卡时,都会得到一个可用的令牌。该令牌将从他们正在读取的NFC卡中“弹出”。换句话说,每次读取NFC芯片时,它将从卡的存储中发出不同的可用令牌。这可能实现吗?