Complete list of APDU responses
https://www.eftlab.com.au/index.php/site-map/knowledge-base/118-apdu-response-list
List of APDU responses for EMV processing with their description.
Note that the same list with extended searching options is implemented in our freeware BP-Tools product.
| SW1 | SW2 | Info/ Warning/ Error/ Security |
Description |
|---|---|---|---|
| 6 | E | Class not supported. | |
| 61 | -- | I | Response bytes still available |
| 61 | XX | I | Command successfully executed; 'XX' bytes of data are available and can be requested using GET RESPONSE. |
| 62 | -- | W | State of non-volatile memory unchanged |
| 62 | 00 | W | No information given (NV-Ram not changed) |
| 62 | 01 | W | NV-Ram not changed 1. |
| 62 | 81 | W | Part of returned data may be corrupted |
| 62 | 82 | W | End of file/record reached before reading Le bytes |
| 62 | 83 | W | Selected file invalidated |
| 62 | 84 | W | Selected file is not valid. FCI not formated according to ISO |
| 62 | 85 | W | No Purse Engine enslaved for R3bc |
| 62 | A2 | W | Wrong R-MAC |
| 62 | A4 | W | Card locked (during reset( )) |
| 62 | CX | W | Counter with value x (command dependent) |
| 62 | F1 | W | Wrong C-MAC |
| 62 | F3 | W | Internal reset |
| 62 | F5 | W | Default agent locked |
| 62 | F7 | W | Cardholder locked |
| 62 | F8 | W | Basement is current agent |
| 62 | F9 | W | CALC Key Set not unblocked |
| 62 | FX | W | - |
| 62 | XX | W | RFU |
| 63 | -- | W | State of non-volatile memory changed |
| 63 | 00 | W | No information given (NV-Ram changed) |
| 63 | 81 | W | File filled up by the last write. Loading/updating is not allowed. |
| 63 | 82 | W | Card key not supported. |
| 63 | 83 | W | Reader key not supported. |
| 63 | 84 | W | Plaintext transmission not supported. |
| 63 | 85 | W | Secured transmission not supported. |
| 63 | 86 | W | Volatile memory is not available. |
| 63 | 87 | W | Non-volatile memory is not available. |
| 63 | 88 | W | Key number not valid. |
| 63 | 89 | W | Key length is not correct. |
| 63 | C0 | W | Verify fail, no try left. |
| 63 | C1 | W | Verify fail, 1 try left. |
| 63 | C2 | W | Verify fail, 2 tries left. |
| 63 | C3 | W | Verify fail, 3 tries left. |
| 63 | CX | W | The counter has reached the value ‘x’ (0 = x = 15) (command dependent). |
| 63 | FX | W | - |
| 63 | XX | W | RFU |
| 64 | -- | E | State of non-volatile memory unchanged |
| 64 | 00 | E | No information given (NV-Ram not changed) |
| 64 | 01 | E | Command timeout. |
| 64 | XX | E | RFU |
| 65 | -- | E | State of non-volatile memory changed |
| 65 | 00 | E | No information given |
| 65 | 01 | E | Write error. Memory failure. There have been problems in writing or reading the EEPROM. Other hardware problems may also bring this error. |
| 65 | 81 | E | Memory failure |
| 65 | FX | E | - |
| 65 | XX | E | RFU |
| 66 | -- | S | |
| 66 | 69 | S | Incorrect Encryption/Decryption Padding |
| 66 | XX | S | - |
| 67 | -- | E | |
| 67 | 00 | E | Wrong length |
| 67 | XX | E | length incorrect (procedure)(ISO 7816-3) |
| 68 | -- | E | Functions in CLA not supported |
| 68 | 00 | E | No information given (The request function is not supported by the card) |
| 68 | 81 | E | Logical channel not supported |
| 68 | 82 | E | Secure messaging not supported |
| 68 | 83 | E | Last command of the chain expected |
| 68 | 84 | E | Command chaining not supported |
| 68 | FX | E | - |
| 68 | XX | E | RFU |
| 69 | -- | E | Command not allowed |
| 69 | 00 | E | No information given (Command not allowed) |
| 69 | 81 | E | Command incompatible with file structure |
| 69 | 82 | E | Security condition not satisfied. |
| 69 | 83 | E | Authentication method blocked |
| 69 | 84 | E | Referenced data reversibly blocked (invalidated) |
| 69 | 85 | E | Conditions of use not satisfied |
| 69 | 86 | E | Command not allowed (no current EF) |
| 69 | 87 | E | Expected secure messaging (SM) object missing |
| 69 | 88 | E | Incorrect secure messaging (SM) data object |
| 69 | 96 | E | Data must be updated again |
| 69 | F0 | E | Permission Denied |
| 69 | F1 | E | Permission Denied - Missing Privilege |
| 69 | FX | E | - |
| 69 | XX | E | RFU |
| 6A | -- | E | Wrong parameter(s) P1-P2 |
| 6A | 00 | E | No information given (Bytes P1 and/or P2 are incorrect) |
| 6A | 80 | E | The parameters in the data field are incorrect. |
| 6A | 81 | E | Function not supported |
| 6A | 82 | E | File not found |
| 6A | 83 | E | Record not found |
| 6A | 84 | E | There is insufficient memory space in record or file |
| 6A | 85 | E | Lc inconsistent with TLV structure |
| 6A | 86 | E | Incorrect P1 or P2 parameter. |
| 6A | 87 | E | Lc inconsistent with P1-P2 |
| 6A | 88 | E | Referenced data not found |
| 6A | 89 | E | File already exists |
| 6A | 8A | E | DF name already exists. |
| 6A | F0 | E | Wrong parameter value |
| 6A | FX | E | - |
| 6A | XX | E | RFU |
| 6B | -- | E | |
| 6B | 00 | E | Wrong parameter(s) P1-P2 |
| 6B | XX | E | Reference incorrect (procedure byte), (ISO 7816-3) |
| 6C | -- | E | Wrong length Le |
| 6C | 00 | E | Incorrect P3 length. |
| 6C | XX | E | Bad length value in Le; 'xx' is the correct exact Le |
| 6D | -- | E | |
| 6D | 00 | E | Instruction code not supported or invalid |
| 6D | XX | E | Instruction code not programmed or invalid (procedure byte), (ISO 7816-3) |
| 6E | -- | E | |
| 6E | 00 | E | Class not supported |
| 6E | XX | E | Instruction class not supported (procedure byte), (ISO 7816-3) |
| 6F | -- | E | Internal exception |
| 6F | 00 | E | Command aborted - more exact diagnosis not possible (e.g., operating system error). |
| 6F | FF | E | Card dead (overuse, …) |
| 6F | XX | E | No precise diagnosis (procedure byte), (ISO 7816-3) |
| 9- | -- | ||
| 90 | 00 | I | Command successfully executed (OK). |
| 90 | 04 | W | PIN not succesfully verified, 3 or more PIN tries left |
| 90 | 08 | Key/file not found | |
| 90 | 80 | W | Unblock Try Counter has reached zero |
| 91 | 01 | States.activity, States.lock Status or States.lockable has wrong value | |
| 91 | 02 | Transaction number reached its limit | |
| 92 | 0x | I | Writing to EEPROM successful after 'x' attempts. |
| 92 | 10 | E | Insufficient memory. No more storage available. |
| 92 | 40 | E | Writing to EEPROM not successful. |
| 93 | 01 | Integrity error | |
| 93 | 02 | Candidate S2 invalid | |
| 94 | 00 | E | No EF selected. |
| 94 | 01 | Candidate currency code does not match purse currency | |
| 94 | 02 | Candidate amount too high | |
| 94 | 02 | E | Address range exceeded. |
| 94 | 03 | Candidate amount too low | |
| 94 | 04 | E | FID not found, record not found or comparison pattern not found. |
| 94 | 05 | Problems in the data field | |
| 94 | 07 | Bad currency : purse engine has no slot with R3bc currency | |
| 94 | 08 | R3bc currency not supported in purse engine | |
| 94 | 08 | E | Selected file type does not match command. |
| 95 | 80 | Bad sequence | |
| 96 | 81 | Slave not found | |
| 97 | 00 | PIN blocked and Unblock Try Counter is 1 or 2 | |
| 97 | 02 | Main keys are blocked | |
| 97 | 04 | PIN not succesfully verified, 3 or more PIN tries left | |
| 97 | 84 | Base key | |
| 97 | 85 | Limit exceeded - C-MAC key | |
| 97 | 86 | SM error - Limit exceeded - R-MAC key | |
| 97 | 87 | Limit exceeded - sequence counter | |
| 97 | 88 | Limit exceeded - R-MAC length | |
| 97 | 89 | Service not available | |
| 98 | 02 | E | No PIN defined. |
| 98 | 04 | E | Access conditions not satisfied, authentication failed. |
| 98 | 35 | E | ASK RANDOM or GIVE RANDOM not executed. |
| 98 | 40 | E | PIN verification not successful. |
| 98 | 50 | E | INCREASE or DECREASE could not be executed because a limit has been reached. |
| 99 | 00 | 1 PIN try left | |
| 99 | 04 | PIN not succesfully verified, 1 PIN try left | |
| 99 | 85 | Wrong status - Cardholder lock | |
| 99 | 86 | E | Missing privilege |
| 99 | 87 | PIN is not installed | |
| 99 | 88 | Wrong status - R-MAC state | |
| 9A | 00 | 2 PIN try left | |
| 9A | 04 | PIN not succesfully verified, 2 PIN try left | |
| 9A | 71 | Wrong parameter value - Double agent AID | |
| 9A | 72 | Wrong parameter value - Double agent Type | |
| 9D | 05 | E | Incorrect certificate type |
| 9D | 07 | E | Incorrect session data size |
| 9D | 08 | E | Incorrect DIR file record size |
| 9D | 09 | E | Incorrect FCI record size |
| 9D | 0A | E | Incorrect code size |
| 9D | 10 | E | Insufficient memory to load application |
| 9D | 11 | E | Invalid AID |
| 9D | 12 | E | Duplicate AID |
| 9D | 13 | E | Application previously loaded |
| 9D | 14 | E | Application history list full |
| 9D | 15 | E | Application not open |
| 9D | 17 | E | Invalid offset |
| 9D | 18 | E | Application already loaded |
| 9D | 19 | E | Invalid certificate |
| 9D | 1A | E | Invalid signature |
| 9D | 1B | E | Invalid KTU |
| 9D | 1D | E | MSM controls not set |
| 9D | 1E | E | Application signature does not exist |
| 9D | 1F | E | KTU does not exist |
| 9D | 20 | E | Application not loaded |
| 9D | 21 | E | Invalid Open command data length |
| 9D | 30 | E | Check data parameter is incorrect (invalid start address) |
| 9D | 31 | E | Check data parameter is incorrect (invalid length) |
| 9D | 32 | E | Check data parameter is incorrect (illegal memory check area) |
| 9D | 40 | E | Invalid MSM Controls ciphertext |
| 9D | 41 | E | MSM controls already set |
| 9D | 42 | E | Set MSM Controls data length less than 2 bytes |
| 9D | 43 | E | Invalid MSM Controls data length |
| 9D | 44 | E | Excess MSM Controls ciphertext |
| 9D | 45 | E | Verification of MSM Controls data failed |
| 9D | 50 | E | Invalid MCD Issuer production ID |
| 9D | 51 | E | Invalid MCD Issuer ID |
| 9D | 52 | E | Invalid set MSM controls data date |
| 9D | 53 | E | Invalid MCD number |
| 9D | 54 | E | Reserved field error |
| 9D | 55 | E | Reserved field error |
| 9D | 56 | E | Reserved field error |
| 9D | 57 | E | Reserved field error |
| 9D | 60 | E | MAC verification failed |
| 9D | 61 | E | Maximum number of unblocks reached |
| 9D | 62 | E | Card was not blocked |
| 9D | 63 | E | Crypto functions not available |
| 9D | 64 | E | No application loaded |
| 9E | 00 | PIN not installed | |
| 9E | 04 | PIN not succesfully verified, PIN not installed | |
| 9F | 00 | PIN blocked and Unblock Try Counter is 3 | |
| 9F | 04 | PIN not succesfully verified, PIN blocked and Unblock Try Counter is 3 | |
| 9F | XX | Command successfully executed; 'xx' bytes of data are available and can be requested using GET RESPONSE. | |
| 9x | XX | Application related status, (ISO 7816-3) |
Complete list of APDU responses的更多相关文章
- jQuery 1.9 Ajax代码带注释
/* -----------ajax模块开始 -----------*/ var // Document location ajaxLocParts, ajaxLocation, ajax_nonce ...
- jQuery1.9.1源码分析--Ajax模块
//Serialize an array of form elements or a set of //key/values into a query string // 将数组形式的表单元素或者哈希 ...
- jquery-1.11.1.js
每次想要使用这个js时,总是要到官网上下载,太麻烦,现在把它收录了 jquery-1.11.1.js /*! * jQuery JavaScript Library v1.11.1 * http ...
- ASP.NET之Jquery入门级别
1.Jquery的简单介绍 1)Jquery由美国人John Resig创建.是继prototype之后又一个优秀的JavaScript框架. 2)JQuery能做什么?JQuery能做的普通的Dom ...
- day63-webservice 09.jquery调用ajax
WebService可以有很多种调用方式,除了之前说的,还可以有jquery.拿原生的Ajax做调用,拿jquery怎么调用啊?原生的能调,jquery指定也能调.原生的Ajax是通过网页直接点HTM ...
- ISO 7816-4: Annex A: Transportation of APDU messages by T=0
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_annex-a.aspx Annex A: Transportation ...
- [Cypress] Wait for XHR Responses in a Cypress Test
When testing interactions that require asynchronous calls, we’ll need to wait on responses to make s ...
- [LeetCode] Count Complete Tree Nodes 求完全二叉树的节点个数
Given a complete binary tree, count the number of nodes. Definition of a complete binary tree from W ...
- image的加载事件(onload)和加载状态(complete)
之前做过这样一个需求,要让商家页的商家图片按照图片外面box的大小等比例缩放.之前的想法是在页面中先输出图片的src,然后在页面底部初始化js,然后在js中写相应的可以使图片按照box的大小等比例缩放 ...
随机推荐
- python网络编程--进程池
一:进程池 进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程, 如果进程池序列中没有可供使用的进进程,那么程序就会等待,直到进程池中有可用进程为止. 进程池中有两个方法: apply a ...
- 使用html+css+js实现计算器
使用html+css+js实现计算器,开启你的计算之旅吧 效果图: 代码如下,复制即可使用: <!DOCTYPE html><html lang="en"> ...
- CF312B 【Archer】
容易算出这人第一次胜利的概率,第二次的,第三次的…… 好像可以无限乘下去 但是这题精度卡到1e-6 不妨设一个eps,当这次胜率小于eps时,就break掉,反正它已经不影响答案了 我设的是eps=1 ...
- Spark(九)Spark之Shuffle调优
一.概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO.序列化.网络数据传输等操作.因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行 ...
- 简单实现textview文本每隔两秒就改变一次
//这个方法可以实现文本每隔两秒就改变一次, public void textTask(){ final android.os.Handler handler=new android.os.Handl ...
- 使用spring-boot-maven-plugin插件打包spring boot项目
在spring-boot项目中使用spring-boot-maven-plugin插件进行打包,输出可执行JAR包.项目包含多个模块,当打完包后在本地的maven仓库中发现输出的可执行JAR非常小,并 ...
- poj1251 Jungle Roads(Prime || Kruskal)
题目链接 http://poj.org/problem?id=1251 题意 有n个村庄,村庄之间有道路连接,求一条最短的路径能够连接起所有村庄,输出这条最短路径的长度. 思路 最小生成树问题,使用普 ...
- react篇章-React State(状态)-将生命周期方法添加到类中
将生命周期方法添加到类中 在具有许多组件的应用程序中,在销毁时释放组件所占用的资源非常重要. 每当 Clock 组件第一次加载到 DOM 中的时候,我们都想生成定时器,这在 React 中被称为挂载. ...
- m3u8转mp4
先进行一波操作 新建一个文件夹,里面床两个txt文件 如图 里面随意写一些内容 之后新建一个demo.bat文件.里面输入 copy /b 1.txt+2.txt new.txt 之后双击会有一个ne ...
- 批量ssh登录,获取操作系统、CPU、内存、硬盘信息<shell>
说明:该脚本读取machine.txt文件中的机器名,然后批量ssh登录,获取每台机器的操作系统,CPU,内存,硬盘等信息. 使用方法:将文件保存为sh,chmod +x filename 为该sh文 ...