-
1 votesanswersviews
APDU读取文件java卡程序
我使用netbeans制作了java卡经典applet 当我编程读操作时,我检查APDU中的第一个字节是0x80然后第二个是 0xB0 然后从字节2和3获取我将从文件中读取的偏移量然后取字节数为从字节4读取 将APDU作为默认值 0x80 0xB0 0x00 0x03 0x60 这从当前文件读取60个字节,以偏移号3开头 当我尝试这个命令时,它返回错误 Input data length != L... -
0 votesanswersviews
如何在iso14443a初始化和防冲突中编程RATS命令
我想知道如何更改读取器在初始化阶段发送给卡的请求应答选择命令(RATS)中的一些字节 . 目前我的NFC读卡器acr122u在RATS命令中发送了一个5字节的FSD字节,经过一些研究后我发现FSD值为5意味着终端只接受最大大小为64位的帧大小,我需要发送超过一个apdu . 请有人帮忙 -
1 votesanswersviews
无法构造VERIFY_PIN_DIRECT控制命令
我正在编写一个JAVA-app来访问我的OpenPGP-Card V2.0 . 我使用的卡终端是“REINER SCT cyberJack RFID标准”,它只支持OSX下的PC / SC,现在我想实现PC / SC 2.0命令“VERIFY_PIN_DIRECT” . 我尝试了以下控制序列,|之后的字节是APDU字节(我的测试引脚是“140396”): Index: 00 01 02 03 04... -
3 votesanswersviews
进程方法没有从主机收到完整的APDU命令?
主机将以下命令发送到applet以选择EF文件 00 A4 02 00 02 40 01 目的是选择ID为 40 01 的EF文件(在命令的数据字段中指定) . 但是当我调试进程(APDU apdu)方法时,APDU缓冲区只包含5个第一个字节 00 A4 02 00 02 . 数据字段设置为 00 00 . 所以我的applet无法使用EF ID选择EF . 你能告诉我上面的APDU命令有... -
4 votesanswersviews
有没有支持扩展APDU的Android手机?
我正在开发一个Android应用程序,它具有从智能卡读取数据的功能 . 默认情况下,NFC控制器支持APDU命令,单个命令中最大收发长度为261个字节 . 由于需要在卡上读取大量数据,因此读取速度非常慢 .是否有支持扩展APDU的Android手机允许在单个APDU中发送超过261个字节?或者有没有办法通过调用Android API来修改最大收发长度以允许这样做? 我找到了一些话题:link 他们... -
1 votesanswersviews
如何在Android中阅读智能卡ATR?
我有一个1443 B型卡,我可以通过发送SELECT命令读取ATR,文件ID为0x2F01,然后发送READBINARY命令 00 B0 00 00 00这是回应:4301F84703F741E07F6608020205F0020205F09000 但为什么命令 00 B0 81 00 00 不起作用?根据ISO / IEC 7816-4,该命令用于读取具有5位P1xP2的EF作为文件短ID(00... -
2 votesanswersviews
javax.smartcardio:如何向Desfire卡发送本机命令?
我正在创建一个通过PC / SC非接触式读卡器和javax.smartcardio API与Mifare DESFire卡通信的Java应用程序 . 我设法定期发送ISO 7816 APDU(CLA,INS,P1-P2,Lc,Command数据,Le) . 我在Ridrix's Blog上读到DESFire卡(至少我使用的EV1版本)支持APDU和Native命令,其中大多数命令只有1个字节长 .... -
0 votesanswersviews
与NFC设备通信 - 安卓设备 - ISO 7816-4
由于ISO 7816-4标准,Android中是否有可以与NFC设备通信的库?我的意思是准备好实现APDU的命令,并且不需要手动发送字节? 或者也许唯一的方法是从APDU发送到我的设备字节?如果是这样,如何构造适当的APDU并找出字段值(CLA,INS等...)? 我的目的是进入卡上的目录并从卡中读取文件 . 感谢您提前分享您的知识:) -
0 votesanswersviews
如何使用C中的单个APDU发送和获取数据?
我正在使用winscard编写C代码 . 我注意到,如果我用Scardtransmit发送命令,其中只发送数据或仅接收数据,则没有问题 . 我可以发送数据或得到正确的答复 . 但是,当命令发送数据并期望响应时,我总是得到61xx . 我知道错误代码61xx意味着有一个xx字节响应,其中Le不正确,并检查每个可能的Le,包括返回值xx,但没有任何变化 . 例如,让Apdu采用CLA INS P1 P... -
1 votesanswersviews
当T = 0,Lc> 0,Le> 0时智能卡是否返回sw = 9000?
仔细阅读ISO / IEC 7816-3:2006,第12.2.5节规定了当读取器发送Lc> 0,Le> 0的命令APDU时,T = 0传输协议(字节流)会发生什么 . 初始命令TPDU没有Le字段,如果卡响应成功,应用程序应发送0xC0 GET RESPONSE命令,直到收到Le字节 . 问题:如果智能卡期望返回数据,那么卡实际上是否有效以响应初始T = 0命令(在任何GET RES... -
3 votesanswersviews
将扩展APDU发送到Javacard
我有一台ACR38 samrt-card-reader和一些符合GP Spec [02]的Javacard [2.1.1] . 据我所知,有两种APDU, Short-APDU [APDU与 LC 或/和 LE 短于 255 ]和 Extended-APDU [APDU与 LC 或/和 LE 大于 255 ] . 是对的吗? 我们在 T=0 协议中发送Short-APDU并在 T=1 协议中发... -
2 votesanswersviews
关于Javacards中SELECT APDU命令的一些问题
下面引用的段落是一篇名为“如何编写Java Card小程序”的文章的一部分:开发人员指南,由Zhiqun Chen撰写 . 我看到了here 一旦选择了一个applet,JCRE就会将所有后续的APDU命令(包括SELECT命令)转发给applet的process()方法 . 在process()方法中,applet解释每个APDU命令并执行命令指定的任务 . 对于每个命令APDU,小应用程序通... -
2 votesanswersviews
ISO / IEC 7816命令通过CCID
我目前正在发现智能卡世界,还有一些我不理解的东西 . 我正在开发一个使用CCID协议与我的智能卡读卡器(USB)通信的驱动程序(我成功地进行了基本通信) . 但是如果我想使用ISO / IEC 7816-4规范与我的卡通信,我将继续使用CCID协议和PC_to_RDR_XfrBlock()请求,在数据部分(abData,偏移10 cf $ 6.1.4第30页规范) CCID)我将直接发送我的ISO... -
1 votesanswersviews
Javacard - UICC - SMS-PP数据下载信封总是返回9000
我尝试发送带有APDU的短信(没有23.048 Headers - 我知道它不会假设没有这些 Headers ) . 对于每个SMS(无论我发送的APDU是什么),我都得到了9000响应(即使设置了Le字节也没有附加数据) . 有人可以向我解释一下这种行为吗? -
0 votesanswersviews
智能卡对APDU的响应中是否有任何数据字段大小的指示?
我知道当通过智能卡读卡器发布APDU时,结果的格式如下: [ [data], SW1, SW2 ] 我知道当您发出APDU时,您可以使用 Le 字段指定预期答案的大小,但我想知道数据字段中是否有任何字节(或任何内容)指示其实际大小 . 例如,假设我想要读取主文件: 首先,我发出 SELECT FILE apdu: 00 A4 00 00 例如,返回 61 1b ,其中 1b 是使用 GET ... -
1 votesanswersviews
使用smartcardio签名文件
我发现了一些将APDU命令发送到智能卡的基本示例 . 但是我对签署文件感到有些困惑 . 我可以使用APDU命令从SmartCard获取证书吗? 如果是这样,一旦我检索到了证书,我应该使用哪个API来签署文件? 非常感谢您对此有所了解 -
3 votesanswersviews
如何只读/写同步智能卡,如存储卡
我有一个只支持同步接口的IC存储卡(如SLE5532,SLE5542 ......等) 我想知道如何编写一个读取内存内容,验证PSC(PIN)和写入内存的应用程序 . 这种类型的卡不能接受像微处理器卡这样的普通APDU . 在数据表中,它指定要以二进制形式发送的命令(所有命令的长度为3个字节) 我找到了一个专门用于SCM Reader的应用程序(基于MCSCM.dll),但它不能与我的OmniKe... -
-1 votesanswersviews
使用java commandAPDU读取SLE4442智能卡中的写入数据?
我想在SLE4442智能卡中读写数据我有ACR38U-i1智能卡读卡器 对于写入,我使用此命令APDU byte[] cmdApduPutCardUid = new byte[]{(byte)0xFF, (byte)0xD0, (byte)0x40,(byte)0x00, (byte)4,(byte)6,(byte)2,(byte)6,(byte)2}; 并为读取数据 byte[] cmdA... -
-1 votesanswersviews
使用java验证引脚返回6a86
我有SPR332 pinpad阅读器,我必须在java上编写程序,验证银行卡的引脚 . 这是我的PINverifyStructure: bTimeOut = 0х00 bTimeOut2 = 0х00 bmFormatString = 0x82 bmPINBlockString = 0x47 bmPINLengthFormat = 0x04 wPINMaxExtraDigitMax = 0x0c ... -
2 votesanswersviews
使用PINPAD在阅读器上验证比利时EID卡的PIN码
我在PINPAD阅读器上验证PIN码的所有尝试最终都失败了,这是我的情况: 设置 比利时EID卡; Vasco DIGIPASS 875,蓝牙连接; 使用Vasco SDK的Android应用程序 . 情况 我已经使用APDU命令来选择和读取文件,设置安全环境(MSE:SET),经过大量研究和合并不同文档的不同解决方案后,我可以让读者询问我的PIN码 . 但是使用我的伪APDU命令... -
0 votesanswersviews
智能卡:非易失性存储器的状态已更改 - 0x6581
我'm using HID smart card reader 3121 to read/write smart card using APDU commands. I successfully performed the basic operations (pin verification/ read / write) on some smart cards. However, some of ... -
2 votesanswersviews
使用APDU将CAP文件上传到智能卡
我正在尝试将applet(.cap文件)安装到智能卡中 . 我读过可以使用APDU完成 . 我使用Netbeans创建了我的applet,它的帮助是// aid / 9AE9BE4D27 / 53 . 首先构建将选择 installer applet 的apdu: 0x00 0xA4 0x04 0x00 0X09 0xA0 0x00 0x00 0x00 0x62 0x03 0x01 0x08 0x... -
2 votesanswersviews
尝试选择Applet时收到6E00
我创建 .cap 文件的this示例代码[简单的Hello World]并通过 JCManager 成功上传到我的javacard上 . 包裹AID: 01 02 01 02 01 02 01 Applet AID: 01 02 01 02 01 02 01 02 This is output of JCManager : Open terminal ... Establish... -
1 votesanswersviews
收到SELECT APDU命令后的JCRE行为
据我所知,当JCRE接收SELECT APDU命令时,首先,它在其注册表中搜索命令指示的AID . 如果未在其注册表中找到AID,则返回 6A82 . 但是如果JCRE找到它,它将调用所选applet的 deselect() 方法,并在收到 True 之后,它将调用所请求的applet的 select() 方法 . 如果从该方法收到 True ,请将该applet标记为已选中 . 我的问题: 1... -
1 votesanswersviews
编写一个applet,列出卡上所有已安装的applet和包
我想编写一个程序,返回Java卡上所有已安装或加载的applet和包的AID . 换句话说,我想上传一个applet,当它收到APDU Command = xx xx xx xx 时,返回那些AID . (如果可能的话,最好还返回他们的权限和生命周期 . ) 我搜索 JC222VMspec , JC222JCREspec 和 JC222APIspec 以获取类似LIST_APP的方法!但我一无... -
0 votesanswersviews
为什么没有安装包的所有applet?为什么我不能删除它们?
这是我的JavaCard的内容: GP::: gp -list AID: A000000151000000 (|....Q...|) ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected, CVM (PIN) management AID: A0000001515350 (|....QSP... -
2 votesanswersviews
如何将任何APDU命令从当前选定的applet传递到另一个applet?
Question: 假设有一个Applet的多个实例 . 目前选择了一个Applet实例 . 是否可以将任何APDU命令从选定的Applet传递到另一个Applet实例?我在JavaCard API 3.0.4版中没有找到这样的方法 . Details: 在研究"Expresspay Mobile Specifications v1.2"文件以实施'Application Se... -
4 votesanswersviews
直接访问applet而无需选择AID
通常,当您启动JavaCard智能卡并希望与applet通信时,必须首先使用其AID选择applet . 卡上电时是否有任何方法可以选择“默认小程序”? 我真正想做的是能够在选择卡后立即发送我的应用程序级APDU,而不需要完成应用程序选择过程 . 这可能吗?如果是这样,怎么样? -
3 votesanswersviews
安装后,将Mark Javacard applet设置为隐式可选(默认applet)
我正在寻找一种方法来将applet标记为隐式可选择/ "selected by default" applet,之后它已经上传并安装在Global Platform / JCOP 2.4.2 R1系统上(对于NXP JCOP工具Java卡模拟中的初学者) . 在JCOP shell中安装了没有 -d 参数的applet: cm> install -i a000100201... -
2 votesanswersviews
Applet没有收到带有下一次出现的JavaCard SELECT
我有一个应用程序,RESET Privilege是重置后默认选择的应用程序 . 我的应用程序有一个日志记录机制,可以准确地告诉我对卡的请求是什么 . 根据当前状态,我有几个动态响应 . 我还用卡片 Spy 检查了这种行为 . 所有APDU都正确地转发到我的应用程序,包括那些不属于它的SELECT,并且与卡上的任何其他应用程序都不匹配 . 但是,当接收SELECT DF下一次出现时(A4 04 02...