我正在尝试编写代码来访问读卡器.我已将框架包含在我的项目中,但无法解决链接问题?你对此有何评论?
"_OBJC_CLASS _ $ _ EAAccessoryManager",引自:iSmartSDK中的objc-class-ref"_EAAccessoryDidConnectNotification",引用自:iSmartSDK中的 - [iSmart init] - iSmartSDK中的[iSmart dealloc]"_ OBJC_CLASS _ $ _ EASession",引自:objc-class-参考iSmartSDK
我对VISA卡的GET PROCESSING OPTIONS(GPO)命令有一些问题.
以下是我对VISA应用程序的SELECT命令的响应:
6F408407A0000000031010A535500A564953412044454249549F380C9F66049F02069F37049F1A025F2D02656EBF0C1242034761735F550255539F5A0511084008409000
Run Code Online (Sandbox Code Playgroud)
我从中提取了以下PDOL: 9F66049F02069F37049F1A02
我不确定标签9F66.
我的GPO命令如下所示:
80a800000100000001000000001000823DDE7A12400
Run Code Online (Sandbox Code Playgroud)
但我得到一个解析器错误作为响应:
6A80
Run Code Online (Sandbox Code Playgroud) 我有SCR3310v2.0读卡器和芯片卡SLE5528,有没有代码示例可以记录和读取卡信息,或者有没有免费软件可以做到这一点?
我使用JCManager工具在我的 java 卡上加载小程序。该软件在顶部有三个身份验证密钥字段,名为S_ENC、S_MAC和DEK。
据我所知,ENC代表Encryption,MAC代表Message Authentication Code,DEK代表Data Encryption Key。
我想知道他们何时使用(通信的哪一步?初始更新、外部身份验证?...)?
每次通信中都使用这三个密钥,还是其中一些密钥可以选择使用?
哪里?(卡或终端或两者兼而有之?)
另外,我想知道什么是KEK?KEK智能卡里有吗?
我正在尝试从我的pcsc java代码中读取卡UID/HCE android设备UID.但我收到以下错误
javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: Unknown error 0x1f
Run Code Online (Sandbox Code Playgroud)
虽然当我尝试获取UID时我能够获得ATS位但是我得到了这个错误.我从这里提到了我的代码
码
import java.io.Console;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
import javax.smartcardio.ATR;
import javax.smartcardio.Card;
import javax.smartcardio.CardChannel;
import javax.smartcardio.CardException;
import javax.smartcardio.CardTerminal;
import javax.smartcardio.CommandAPDU;
import javax.smartcardio.ResponseAPDU;
import javax.smartcardio.TerminalFactory;
public class PCSC {
private byte[] atr = null;
private String protocol = null;
private byte[] historical = null;
public CardTerminal selectCardTerminal() {
try {
// show the list of available terminals
TerminalFactory factory = TerminalFactory.getDefault();
List<CardTerminal> terminals = factory.terminals().list();
ListIterator<CardTerminal> terminalsIterator …Run Code Online (Sandbox Code Playgroud) 我是APDU的新手.我阅读了DESFire的数据表.根据它,我们有:
CLA = 0x90
INS = DESFire CMD Code
P1 = 0x00
P2 = 0x00
LC = Length of wrapped Data
data = DESFire command parameter(s)
LE = 0x00
Run Code Online (Sandbox Code Playgroud)
我想获得DESFire UID,但我无法为此创建命令APDU.任何人都能引导我走向正确的方向吗?我创建了这个APDU,但我不确定它是否正确:
byte[8] cmd_apdu_getUID_part1= {0x90 , 0x93 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00};
Run Code Online (Sandbox Code Playgroud)
我不明白像LC这样的参数的概念,我找不到用于获取UID的INS.它0x93 ox20适用于UID的第1部分和UID 0x95 0x20的第2部分吗?
uniqueidentifier apdu smartcard-reader mifare contactless-smartcard
有谁知道如何重置高级卡系统NFC阅读器类型ACR1255U-J1?我已经向它发送了一个逃生命令,它被卡住了.当我在顶部切换按钮时,我得到LED1的紫色灯和LED2的橙色灯,然后是LED1的红灯,而LED2没有灯.任何帮助都会得到满足.
当通过USB连接时我可以通过Mac终端看到设备,但是当蓝牙打开时它不再可见.
下面,您会看到一个简单的小程序,它返回0x6781到带有 INS=0x70或 INS= 的传入 APDU 命令0x71:
package testPack;
import javacard.framework.*;
public class TestApp extends Applet
{
public static void install(byte[] bArray, short bOffset, byte bLength)
{
new TestApp().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
}
public void process(APDU apdu)
{
if (selectingApplet())
{
return;
}
byte[] buf = apdu.getBuffer();
switch (buf[ISO7816.OFFSET_INS])
{
case (byte)0x70:
ISOException.throwIt((short)0x6781);
break;
case (byte)0x71:
ISOException.throwIt((short)0x6781);
break;
default:
ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我收到0x6C01了带有 INS= 的 APDU 命令0x70:
Send: …Run Code Online (Sandbox Code Playgroud) 有没有人知道如何通过Reader.control()Android 上的方法控制ACR122U的双色LED ?(图书馆acssmc-1.1.3).
我正在阅读API并且不知道命令描述的含义:
例:
byte[] command = {(byte) 0xFF, (byte) 0x00, (byte) 0x40, (byte) 0b01110111, (byte) 0x04, (byte) 20, (byte) 30, (byte) 3, (byte) 2};
Run Code Online (Sandbox Code Playgroud)
这些东西我不明白:
一些解释的例子很棒.
我下载了android ACS库,并使用带有otg电缆的ACR122U阅读器在我的android设备上试用了示例代码和ReaderTest应用。
我尝试发送以下APDU命令-FF CA 00 00 00,但在以下代码段的以下行中不断遇到此异常:
// Transmit APDU
responseLength = mReader.transmit(params[0].slotNum,
command, command.length, response,
response.length);
Run Code Online (Sandbox Code Playgroud)
例外:
com.acs.smartcard.InvalidDeviceStateException:当前状态不等于特定状态
我检查过以确保所有传递给.transmit方法的元素都是正确的(slotNum,command,command.length等)。只是无法弄清楚为什么会抛出该异常。
任何帮助将不胜感激 !
smartcard-reader ×10
smartcard ×4
apdu ×3
nfc ×3
acr122 ×2
android ×2
java ×2
javacard ×2
pcsc ×2
bluetooth ×1
cryptography ×1
emv ×1
encryption ×1
iphone ×1
led ×1
linker ×1
mifare ×1
objective-c ×1
xcode4.3 ×1