Ejemplo n.º 1
0
  protected void parseInfo(Iso7816.Response data, int dec, boolean bigEndian) {
    if (!data.isOkey() || data.size() < 30) {
      serl = version = date = count = null;
      return;
    }

    final byte[] d = data.getBytes();
    if (dec < 1 || dec > 10) {
      serl = Util.toHexString(d, 10, 10);
    } else {
      final int sn = bigEndian ? Util.toIntR(d, 19, dec) : Util.toInt(d, 20 - dec, dec);

      serl = String.format("%d", 0xFFFFFFFFL & sn);
    }

    version = (d[9] != 0) ? String.valueOf(d[9]) : null;
    date =
        String.format(
            "%02X%02X.%02X.%02X - %02X%02X.%02X.%02X",
            d[20], d[21], d[22], d[23], d[24], d[25], d[26], d[27]);
    count = null;
  }