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
APPLICATION UNBLOCK命令将工被锁定的应用解锁。对于发卡行,应用解锁最好在专用设备上进行。应用解锁过程同应用锁定,只需将APDU替换为 8418000004即可。
APDU = 8418000004
同上。
CARD BLOCK将使卡片上所有的应用永久锁定。当CARD BLOCK命令成功后,所有随后的选择命令都将收到状态字节为“功能不支持(6A81)”的反馈,并且不执行任何其它动作。脚本过程同应用锁定,只需将APDU替换为 8416000004即可。
APDU = 8416000004
同上。
修改/解锁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