繁体   English   中英

如何使用 APDU 命令设置和更新 ICC 卡 PIN

[英]How to set and update ICC card PIN with APDU command

我有一个联系人智能卡。(我不知道上面安装了什么样的小程序。但我可以使用标准的 APDU 命令来验证、读取、更新和验证 pin。)我想对 PIN 做一些更改。 所以,我的问题是:

  • 如果卡有 PIN,则使用新值更新 PIN。 如果卡没有任何PIN,则设置PIN。

标准更新命令不适用于 PIN 文件。 我从 ICC 卡收到 6982 响应消息。 那么,在上述情况下成功的方法是什么。 我在互联网上搜索了它,但我没有找到任何有用的文档和文章。

错误6982代表“不满足安全条件”。

PIN永远不会像您在数据包中提到的那样简单地传输。 用户和ICC之间涉及的软件始终会对它们进行加密,从而使数据包达到峰值。 必须使用GET_CHALLENGE命令获取公用密钥,并将其用于PIN的加密。

根据EMV规范,用于PIN更改的APDU为

CLA = 8C or 84;
INS = 24
P1 = 00
P2 = 01/ 02
Lc = Number of data bytes
Data = Enciphered PIN data component, if present, and MAC data component; 
  • CLA和数据应根据EMV规格书2中指定的安全消息传递进行编码
  • P2 = 01 =>使用当前PIN生成的PIN数据
  • P2 = 02 =>不使用当前PIN生成的PIN数据
  • 新PIN封装在“数据”字段中

最后我找到了解决方案,我把答案放在这里。

首先,我们需要选择PIN FILE。 为了这

  • 选择MF(主文件)
  • 选择DF(专用文件)
  • 选择 PIN EF(基本文件)

选择应用主文件: 00 A4 00 00 02 XX XX

选择应用专用文件: 00 A4 00 00 02 XX XX

选择 App Pin 文件: 00 A4 00 00 02 XX XX

更改引脚命令: 00 24 [TM] [KN] [LN] XX XX .. ..

TM:传输模式(清除传输): 00 KN:密钥编号:10 LN:总引脚长度(每次 16 个字节): 10

例如(旧引脚是“ 1234 ”,我们想将引脚更改为“ 5678 ”:

更改引脚: 00 24 00 10 10 31 32 33 34 FF FF FF FF 35 36 37 38 FF FF FF FF (FF:填充值)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM