当前位置: 首页 > news >正文

锁定应用,解锁应用,锁卡,解卡,更改密码指令

1.应用锁定:APPLICATION BLOCK

    APPLICATION BLOCK命令是使当前被选择的应用无效的一个发卡行脚本命令。在应用锁定之后,卡片将拒绝被锁的应用完成任何金融交易。终端可以选择被锁的应用,用于对该应用解锁。应用锁定过程如下:

 

ATC = OnTransmit(80CA9F3605).Mid(6, 4);//ATC
UDK_MAC = 40BF52BFD9AD67456B078A19011A1391
DoDes(ECB, ENCRYPT, ATC_, UDK_MAC, SKAC);//计算过程密钥
SKAC=85FF218BB721253B726B8F8BFFA4326E
APDU=841E000004
Input=0000000000000000+APDU+ATC+ARQC+80
DoSSMac(Input, SKAC, Mac, 4);
APDU+Mac
 
Send:80CA9F3605//get ATC
--->:9F360200019000
 
Send:841E0000043D5A917D//AppBlock
--->:9000

 

2.应用解锁:APPLICATION UNBLOCK

APPLICATION UNBLOCK命令将工被锁定的应用解锁。对于发卡行,应用解锁最好在专用设备上进行。应用解锁过程同应用锁定,只需将APDU替换为 8418000004即可。 

APDU = 8418000004

同上。

 

3.卡锁定:CARD BLOCK

    CARD BLOCK将使卡片上所有的应用永久锁定。当CARD BLOCK命令成功后,所有随后的选择命令都将收到状态字节为“功能不支持(6A81)”的反馈,并且不执行任何其它动作。脚本过程同应用锁定,只需将APDU替换为 8416000004即可。

 

4.更改密码:PIN CHANGE/UNBOLCK

    修改/解锁PIN命令可以让发卡行在PIN解锁(重置PIN重试计数器)的同时更改卡片密码。修改/解锁PIN应该在满足发卡行安全要求的环境下进行。当PIN CHANGE/UNBLOCK命令成功后,卡片将执行下列功能:

 

——PIN 尝试记数器的值将复位到 PIN 尝试限制数(最大值);

 

——如果有请求,脱机 PIN 值将被设置为新的 PIN 值。

 

//VERIFY PIN
Send:002000800826+000000FFFFFFFF
--->:9000
 
//PIN CHANGE +MAC
//P2=00,解锁PIN,只复位尝试计数器。
//P2=01,解锁PIN同时修改PIN,修改PIN时使用当前PIN。
//P2=02,解锁PIN同时修改PIN,修改PIN时不使用当前PIN。
Send:8424000004+6CF25DE1
--->:9000

 

 

 

 

 

 

 

 

APDU = 8416000004

 

同上。

 

转载于:https://www.cnblogs.com/ttss/p/4234284.html

相关文章:

  • Matlab的部分文件操作
  • 如何管理?
  • 系统时钟和硬件时钟同步
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • zblog2.0博客建站视频教程
  • Product Google的十大设计原则
  • 如何修复U盘提示被写保护的问题
  • 浅谈Docker(一)
  • 使用SharedPreferences存储数据
  • [JDBC-1] JDBC Base Template
  • Ant编译环境
  • 中转server
  • sl4a
  • SGU[107] 987654321 problem
  • study notes: high performance linux server programming
  • download使用浅析
  • Javascript Math对象和Date对象常用方法详解
  • leetcode-27. Remove Element
  • Netty源码解析1-Buffer
  • PHP 的 SAPI 是个什么东西
  • Redash本地开发环境搭建
  • Vue学习第二天
  • webpack入门学习手记(二)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • Zepto.js源码学习之二
  • 阿里研究院入选中国企业智库系统影响力榜
  • 给第三方使用接口的 URL 签名实现
  • 后端_ThinkPHP5
  • 前端相关框架总和
  • 前端性能优化--懒加载和预加载
  • 如何实现 font-size 的响应式
  • 深度学习在携程攻略社区的应用
  • 使用权重正则化较少模型过拟合
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 学习Vue.js的五个小例子
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​io --- 处理流的核心工具​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (2)(2.10) LTM telemetry
  • (27)4.8 习题课
  • (6)STL算法之转换
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (ZT)出版业改革:该死的死,该生的生
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (十五)使用Nexus创建Maven私服
  • (转)德国人的记事本
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET 5种线程安全集合
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .Net Core缓存组件(MemoryCache)源码解析
  • .Net MVC4 上传大文件,并保存表单
  • .Net Remoting(分离服务程序实现) - Part.3