zoukankan      html  css  js  c++  java
  • 金融系列3《锁卡指令》


    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即可。

     

    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

    文/yanxin8原创,获取更多信息请访问http://yanxin8.com/434.html

    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    FastJson---高性能JSON开发包
    mybatis中大于等于小于等于的写法
    MarkDown 使用说明示例
    Get和Post的参数传值
    规则引擎 资料收集
    ORA-01033错误解决方案
    mybatis 参数为String,用_parameter 取值
    php中实现记住密码下次自动登录的例子
    php 应用 bootstrap-fileinput 上传文件 插件 操作的方法
    AJAX 跨域请求
  • 原文地址:https://www.cnblogs.com/iplus/p/4467211.html
Copyright © 2011-2022 走看看