- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JCOP V2.4.2 R3 java 卡,它在其数据表“该卡支持 T=1
和 T=0
通信协议(protocol)”中提到
我还有一个 ACR38 智能卡读卡器,它支持 T=0 和 T=1 协议(protocol)。 (我与一张卡成功T=0通信,与这张卡成功T=1通信。)
我编写了以下程序并将其上传到卡上以发送和接收扩展 APDU:
package extAPDU;
import javacard.framework.APDU;
import javacard.framework.Applet;
import javacard.framework.ISOException;
import javacardx.apdu.ExtendedLength;
public class ExAPDU extends Applet implements ExtendedLength {
private ExAPDU() {
}
public static void install(byte bArray[], short bOffset, byte bLength)
throws ISOException {
new ExAPDU().register();
}
public void process(APDU arg0) throws ISOException {
short number = arg0.setIncomingAndReceive();
arg0.setOutgoingAndSend((short)0, (short)(number+7));
}
}
from smartcard.scard import *
import smartcard.util
from smartcard.System import readers
from smartcard.CardConnection import CardConnection
r=readers()
print r
connection =r[0].createConnection()
connection.connect(CardConnection.T0_protocol)
normalCommand=[0x00,0xa4,0x04,0x00,0x06,0x01,0x02,0x03,0x04,0x05,0x06]
data,sw1,sw2=connection.transmit(normalCommand)
print "SW for Normal Command:"
print data,hex(sw1),hex(sw2)
>>> ================================ RESTART ================================
>>>
['ACS CCID USB Reader 0']
Traceback (most recent call last):
File "C:\extAPDU.py", line 13, in <module>
connection.connect(CardConnection.T0_protocol)
File "D:\PythonX\Lib\site-packages\smartcard\CardConnectionDecorator.py", line 54, in connect
self.component.connect(protocol, mode, disposition)
File "D:\PythonX\Lib\site-packages\smartcard\pcsc\PCSCCardConnection.py", line 118, in connect
raise CardConnectionException('Unable to connect with protocol: ' + dictProtocol[pcscprotocol] + '. ' + SCardGetErrorMessage(hresult))
CardConnectionException: Unable to connect with protocol: T0. The requested protocols are incompatible with the protocol currently in use with the smart card.
>>>
from smartcard.scard import *
import smartcard.util
from smartcard.CardConnection import CardConnection
from smartcard.System import readers
r=readers()
print r
connection =r[0].createConnection()
connection.connect(CardConnection.T1_protocol)
normalCommand=[0x00,0xa4,0x04,0x00,0x00,0x00,0x06,0x01,0x02,0x03,0x04,0x05,0x06]
data,sw1,sw2=connection.transmit(normalCommand)
print "SW for Normal Command:"
print data,hex(sw1),hex(sw2)
>>> ================================ RESTART ================================
>>>
['ACS CCID USB Reader 0']
SW for Normal Command:
[] 0x67 0x0
>>>
T=1
混在一起了。和
T=0
协议(protocol)!
T=1
兼容的智能卡,是否可以发送和接收扩展 APDU?我们无法通过
T=0
发送和接收扩展 APDU协议(protocol)?如果我们想向安全域发送扩展 SELECT APDU 命令,SD 必须实现
ExtendedLength
界面?
ExtendedLength
的小程序接口(interface)T=0/1
感到非常困惑。智能卡的兼容性。任何光线都会受到赞赏。
T=1
成功地将扩展 APDU 发送到上述小程序。协议(protocol)!
最佳答案
Java Card 本身已经处理了 T=0 特定命令,因此 T=0/T=1 APDU 对程序员来说几乎是一样的。当然存在差异,但这些在 APDU 类中得到了很好的解释。
T=0 是基于字节的协议(protocol),而 T=1 使用下面的帧。大多数 T=0 的卡不支持扩展长度。请注意,要获得扩展长度功能,javacardx.apdu.ExtendedLength
需要实现标记接口(interface)。
JCOP 卡可以配置为使用 T=0/T=1/T=CL 等。但是,您需要访问卡(可能还有用户手册)来配置卡。 Java Card API 不包含任何用于更改冷或暖 ATR 中对协议(protocol)或传输协议(protocol)参数的支持的命令。
关于延长长度的要求,您是正确的。请注意,现在可能很难找到不支持 T=1 的读卡器。 T=0 是旧协议(protocol),应该首选 T=1。
关于smartcard - 扩展 APDU 和 T=0/1 通信协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28855930/
我创建了一个 .cap 文件,代码是 here .这是一个简单的一次性密码生成器。 最后我将 010203040506070809 设置为 package ID 并将 0102030405060708
我一直在研究智能卡的读/写操作,我相信我的卡是sle_4428,我使用的是HID OMNIKEY 3121 USB读卡器。问题是,当我在读卡器中输入卡时,我的程序响应为智能卡未响应重置,错误代码为 0
谁能告诉我EMV卡的数据结构是什么? 如果使用磁条卡轨道数据,其中包含 PAN、用户详细信息、到期日期、CVV 等。 当EMV卡插入读卡器时,我们读取的是什么? 我浏览了一些文件和网站,我很难理解。
我通过 Eclipse 制作了一个流行的“Hello World”javacard 代码的 .cap 文件 现在我想通过 GPShell 和 ACR38 智能卡读卡器将它加载到真正的 javacard
我试图了解如何为智能卡创建 CDOL1,而小程序开发人员的帮助不大。当我向卡发送 GET PROCESSING OPTIONS 命令时,我得到以下响应: 80 0E 7D 00 40 01 01 00
通用个性化指南描述了以下个性化过程: 重置 电话 选择 AID 进行个性化 启动安全 channel 多个存储数据命令 安全 channel 与安全域一起建立,并且保存 DGI 的存储数据命令被转发到
我对智能卡编程完全陌生,并且有一个我想要开发的特定应用程序。 我想使用非接触式智能卡并开发具有以下功能的应用程序: 我希望能够将私钥写入非接触式智能卡,但该私钥应该无法提取。 我希望能够将输入发送到智
我想开始使用手机和 SIM 卡。我在互联网上搜索了很多,但我仍然有一些问题! 我想知道 : 1. (U)SIM 卡和智能卡有什么区别? 据我所知,SIM 和 USIM 都是一种智能卡。对?如果是这样,
假设 Java Card 小程序中存在错误:临时字节数组存储在 EEPROM 而不是 RAM 中。此外,假设这个字节数组被每个 APDU 覆盖。 这个错误迟早会损坏卡。 我们可能会出现什么症状?数组中
ISO 14443-3 和 ISO 7816-4 APDU 之间有什么区别?我问这个是因为似乎有些卡使用前者与读卡器通信,有些卡使用后者。我对此感到困惑,想对此有一个很好的了解。例如,我认为 Mifa
我想知道是否可以从智能卡获取借记卡/信用卡号,我尝试使用通信协议(protocol) PC/SC、CCID 和卡接口(interface) ISO/IEC 7816 的智能卡读卡器获取它-1/2/3
我有一张智能卡,但它没有融合(我的意思是它没有预先个性化)。它的 ATR=3B F9 13 00 00 81 31 FE 45 4A 43 4F 50 32 34 32 52 33 A2。 问题1:我
SO JCRE 规范提到,如果另一个小程序有新的选择 apdu,则调用当前选择的小程序“取消选择”方法。从文件系统中选择一个文件怎么样?选择文件是否会导致调用当前所选小程序的取消选择方法? 最佳答案
当主机向卡发送 APDU 命令(例如读取命令)时,在执行第一个命令时,主机是否可以发送另一个命令以取消先前(正在进行的)命令执行? 例如,此处 Command_2 被 Command_3 中断:
我正在寻找一种方法来为我使用的每张智能卡找到唯一编号。我听说每张卡都有唯一的 IC 制造日期、IC 序列号和 IC 批号。 我如何从我的卡中获取这些信息? 最佳答案 当然,每个硬件供应商都会将上述信息
据我所知,SIM 卡是一个 Java 卡,它应该实现 ETSI/3GPP 规范和 UICC 配置。 如果 SIM 是 Java 卡 - 它是否包含来自 Suns 的 JCRE JCRE 规范? 如果
某些智能卡支持 SCP 01 和 SCP02 是什么意思?以及如何在这两者之间进行选择?它是在安全域中预定义的还是有一些命令可以选择一个或其他选项? 最佳答案 What does it mean th
我一直在查看 JavaCard API 和示例,但找不到对更高级别数据集合(如 List、ArrayList、HashMaps 等)的任何引用? 我错过了什么吗? 我知道 JavaCard 环境的资源
考虑一个具有多个实例的 Java Card Classic 小程序,这些实例需要共享 byte[] 变量中的一些数据(例如持久可变,即 EEPROM/Flash),其中包含所有实例共有的信息。 静态
下面引用的段落是陈志群撰写的如何编写 Java Card applet:开发人员指南文章的一部分。 我看到了here Once an applet is selected, the JCRE forw
我是一名优秀的程序员,十分优秀!