Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ACR122 USB SDK-对Winscard.dll的JNI调用_Java_Java Native Interface_Nfc_Rfid_Pcsc - Fatal编程技术网

Java ACR122 USB SDK-对Winscard.dll的JNI调用

Java ACR122 USB SDK-对Winscard.dll的JNI调用,java,java-native-interface,nfc,rfid,pcsc,Java,Java Native Interface,Nfc,Rfid,Pcsc,我们购买了用于NFC测试的ACR122 USB SDK。我们希望为ACR122U-A2 NFC阅读器构建测试桌面应用程序。我们正在微软Windows7平台上用Java开发它 我们希望为了从Winscard.dll使用PC/SC,我们需要进行JNI调用。为了做到这一点,应该为JNI调用准备C/C++包装库 我认为这应该是SDK的一部分,因为示例应用程序引用了JNI包装器Jacspcsc.dll,但库不在那里。有人有类似的经历吗?Winscard.dll是否有任何JNI包装器可用 谢谢 STeN如果

我们购买了用于NFC测试的ACR122 USB SDK。我们希望为ACR122U-A2 NFC阅读器构建测试桌面应用程序。我们正在微软Windows7平台上用Java开发它

我们希望为了从Winscard.dll使用PC/SC,我们需要进行JNI调用。为了做到这一点,应该为JNI调用准备C/C++包装库

我认为这应该是SDK的一部分,因为示例应用程序引用了JNI包装器Jacspcsc.dll,但库不在那里。有人有类似的经历吗?Winscard.dll是否有任何JNI包装器可用

谢谢
STeN

如果为读卡器安装了PC/SC驱动程序,则可以使用java smardcardio软件包(http://download.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html)与读者交流

TerminalFactory terminalFactory = TerminalFactory.getDefault();
CardTerminal terminal = terminalFactory.terminals().list().get(0);
Card card = terminal.connect("T=0");
CardChannel channel = card.getBasicChannel();

// Construct a command and transmit it
CommandAPDU command = new CommandAPDU(new byte[]{(byte)0x01, (byte)0x02, ...})
ResponseAPDU response = channel.transmit(command)

嗨,我已经在使用java smardcardio包了。我也收到了JNI调用库,但我更喜欢Java本机方式。。。刚才我完成了所有的初始化,制作了GUI,得到了ATR。现在我将对标签进行编程。您是否知道CommandAPDU是否可用于发送非APDU命令,即如何处理不理解APDU但仅理解专有命令的标记(例如Mifare Classic 1K)?要向标签发送特定于标签的命令,您需要通过一些步骤来建立与标签的逻辑连接;您需要轮询一个标记,一旦收到响应,使用直接传输命令向标记发送命令。ACR122U读卡器的文档提供了如何执行此操作的示例。您需要将非接触式卡(与内部接触式SAM卡相反)的命令包装在“伪APDU”中。我们已经为此实现了一个基于smartcardio的提供商。一个JNI包装器可能会起作用,并且会使您的应用程序与其他基于NXP-PN53x的NFC阅读器一起工作。