Extended APDU support

http://pcsclite.alioth.debian.org/ccid_extended_apdu.html

To be able to use an extended APDU you need to have:

  • A T=1 card
  • A smart card reader working in TPDU or Extended APDU

A smart card reader can work using 4 different exchange levels:

  • Character
  • TPDU
  • Short APDU
  • Short and extended APDU

The exchange level of a reader is contained in the dwFeatures field of the CCID descriptor.

You can get this information using the parse command included in the driver source code.

Character level: Only very few readers work using this method. I don‘t know if/how they support extended APDU.

TPDU level: With this exchange level a lot of the work is done in the driver. In particular support of extended APDU is managed by the driver and the CCID driver implements it.

Short APDU: These readers are easy to use at a driver point of view but are then limited to short APDU only. Support of extended APDU is then not possible.

Some readers claim they support short APDU only but can use extended APDU when used with the manufacturer Windows driver. Maybe the Windows driver switches the reader in TPDU mode or something similar. That is not a documented CCID feature and so is not used in my CCID driver. If you can get information on this from the reader manufacturer I may include support of extended APDU for the reader in my driver.

Short and extended APDU: Support of extended APDU is offered by the reader.

you can send Extended APDU in T=0 as well but for that your card must be supported "javacardx.apdu". Please refer javadoc link

Here is method to know what is supported by your card.

00 A4 04 00 <length of Card manager AID> <AID> [Select card manager]

00 20 00 00 08 <Card manager PIN> [verify card manager PIN]

00 80 F2 20 00 02 4F 00 - [get status command with P1 20] and [Executable Load Files and Executable Modules 4F00]

You will get all the package AID in response of this command then search for AID

"A0000000620209".

if available then javacardx.apdu is supported.

For more info abt "Get status" command please refer GP 2.2.1

An extended APDU is an APDU (command) with data and/or response of more than 256 bytes and up to 65536 bytes. See ISO 7816-4 for more details.

The CCID driver supports extended APDU. But this support may be limited by the smart card reader itself.

时间: 2024-10-09 06:08:37

Extended APDU support的相关文章

initramfs启动linux

一.rootfs制作: 根文件系统是Linux启动时使用的第一个文件系统,就像PC机上的文件目录 1.创建根文件系统的目录(目录名随便取) mkdir rootfs cd rootfs mkdir bin dev etc lib home proc sbin sys usr mnt tmp var mkdir usr/bin usr/lib usr/sbin lib/modules 2.创建设备文件 cd dev/ mknod -m 666 console c 5 1 mknod -m 666

php内核解析(四)全局变量

这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux CG CG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量. struct _zend_compiler_globals { zend_stack loop_var_stack; zend_class_entry *active_class_entry; zend_string *compiled_filename; int zend_lineno; zend_op_arra

Linux入门之CentOS7内核编译三部曲(1)

Linux入门之CentOS7内核编译三部曲(1) 我们知道,一个Linux系统的主要组成是由liunx内核核心和一些支持模块组合而成的.但是在某些场合中,需要某项功能,而当前内核的核心或者模块不支持此功能,那么就需要对内核进行一个升级或者重新编译内核添加相应的功能,以此提供了对此功能的支持. 编译前的准备 认识kernel 所为kernel,就是一种操作系统的核心,当然也是一个文件,而这种核心提供了对一些硬件的支持,一般来说其中包含了一些对常见硬件核心驱动的核心代码.启动系统时会通过加载MBR

IOS NSURLRequest(http请求)讲解 ---------赎罪之路

前言 很久没有写过博客了,今天终于可以抽空写.公司的项目从2016年03月15日(我第二份工作任职)开始,辛苦了3个多月终于接近尾声了,在这当中我学了非常多东西,为了遗忘我就写个博客来记录下,以防止忘记. 正文 今天要讲的主角是NSURLRequest.这里我先采用apple 官方文档解释 NSURLRequest objects represent a URL load request in a manner independent of protocol and URL scheme, NS

rhel7文件的归档与压缩

归档的好处 方便使用.查询.阅读 易于管理(批量操作文件) 文件压缩的好处 加快文件传输的速率 节约硬盘的资源 Linux文件中的文件归档与压缩 1.1 tar命令的使用 1.1.1 作用:打包.压缩文件 [[email protected] ~]# tar --help 用法: tar [选项...] [FILE]...  GNU 'tar' 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 示例   tar -cf archive.tar foo bar  # 从

Nginx Announcing NGINX Plus R7

https://www.nginx.com/blog/nginx-plus-r7-released/?_ga=1.70204696.981062698.1445605275 https://www.nginx.com/ Announcing NGINX Plus R7 NGINX, Inc. is proud to announce the availability of NGINX Plus Release 7 (R7), the latest release of our applicati

Method and apparatus for verification of coherence for shared cache components in a system verification environment

A method and apparatus for verification of coherence for shared cache components in a system verification environment are provided. With the method and apparatus, stores to the cache are applied to a cache functional simulator in the order that they

Live555分析(一):VS2008编译

背景: RTSP(Real Time Streaming Protocol)实时流媒体协议: RFC 2326 The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over the delivery of data with real-time properties. RTSP provides an extensible framework to  enable cont

addddd

Virtual Files A virtual file com.intellij.openapi.vfs.VirtualFile is the IntelliJ Platform's representation of a file in a file system (VFS). Most commonly, a virtual file is a file in your local file system. However, the IntelliJ Platform supports m