• 金融系列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....
  • 相关阅读:
    __str__和__repr__
    面向对象进阶实战之选课系统
    面向对象总结
    反射(hasattr和getattr和setattr和delattr)
    类和对象的绑定方法及非绑定方法
    -bash: mysql: command not found 解决办法 (转)
    C++类的const成员函数、默认的构造函数、复制形参调用函数(转)
    Zend Framework学习日记(2)--HelloWorld篇(转)
    Zend Framework学习日记(1)--环境搭建篇(转)
    用C/C++扩展你的PHP(转)
  • 原文地址:https://www.cnblogs.com/iplus/p/4467211.html
Copyright © 2020-2023  润新知