当前位置:  开发笔记 > 编程语言 > 正文

如何从Java中读取EMV SmartCard中的PAN

如何解决《如何从Java中读取EMVSmartCard中的PAN》经验,为你挑选了1个好方法。

我需要通过智能卡读卡器读取Maestro/Mastercard的帐号.我正在使用Java 1.6及其javax.smartcardio包.我需要发送APDU命令,它会询问存储在卡芯片上的EMV应用程序的PAN号.问题是,我找不到常规的字节数组来构造APDU命令,它会在任何地方返回所需的数据......



1> Rasmus Faber..:

您不应该进一步包装APDU.API层应该处理这个问题.

看起来0x6D00响应只意味着应用程序不支持INS.

现在只是进行故障排除,但您确实是通过选择MasterCard应用程序开始的,对吧?

就是这样的:

void selectApplication(CardChannel channel) throws CardException {
  byte[] masterCardRid = new byte[]{0xA0, 0x00, 0x00, 0x00, 0x04};
  CommandAPDU command = new CommandAPDU(0x00, 0xA4, 0x04, 0x00, masterCardRid);
  ResponseAPDU response = channel.transmit(command);
  return response.getData();
}

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有