总是获得6a82和6d00来阅读签证emv卡

时间:2019-05-21 11:18:28

标签: java smartcard smartcard-reader emv smartcardio

我正在从签证卡中读取数据,但始终收到PSE的响应6a82和6d00。 我正在使用smartcardio,以下是命令 选择PSE: 00A404000E315041592E5359532E444446303100

处理代码: 80A8000002830000

以下代码对paypak(声称具有EMV兼容性的巴基斯坦支付卡)有效,但对于签证无效。

startCardConnection("0");
    String commandVisa = "00A4040007A000000003101000";
    String command_PSE = "00A404000E315041592E5359532E444446303100";
     String command_getProcessingOptionsVISA = "80A8000002830000";
    String response;
    response = executeCardCommand(command_PSE);
    response = executeCardCommand(commandVisa);
    readCardRecords(2);
    response = executeCardCommand(command_getProcessingOptionsVISA);
response = executeCardCommand("80AE8000210000000000000000000000000586000000000005861802020000E44E4B11040001");


  public static String executeCardCommand(String command) {
    if (transmissionTrace)
        System.out.println("SYS: Executing card command:" + command);

    capdu = makeCommandAPDU(command);
    TLV tagsList;
    try {
        if (card == null) {
        System.out.println("SYS: ERR: Card not present/not responding!");
        return null;
        }
        responsedAPDU = card.getBasicChannel().transmit(capdu);

        showRes(responsedAPDU.getBytes());

        tagsList = new TLV(responsedAPDU.getBytes());
        allTagsTLV.getChildren().add(tagsList);
        System.out.println(">>>>>>>>>>>>" + responsedAPDU.toString());

    } catch (CardException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (TLVException e1) {
        // TODO Auto-generated catch block
        System.out.println("SYS: NO tags response. May be correct if not expecting tags.");
    }

    return allTagsTLV.getJson();

    }

1 个答案:

答案 0 :(得分:2)

对PSE的接触支持是可选的-卡和终端均支持。从终端/内核的角度来看,仅LoA(AID列表)方法是必需的。正如EMV书1第12.3章中详细描述的那样,当缺少PSE(状态字6A82)时,终端应根据其配置使用AID列表方法构建候选列表。我不知道何时获得6D00,但是您没有正确执行应用程序选择,因此我猜您是在未选择应用程序的情况下触发了GPO和GenAC之类的命令。您引用的代码是非常错误的-它不会处理任何错误,不会正确选择应用程序,不会检查PDOL是否存在,不会使用CDOL1读取记录,也不会生成DOL。老实说,它可能只是巧合。