sw 0x6cxx works

This commit is contained in:
merlokk 2018-12-18 16:14:52 +02:00
commit 8ab9b6d0ea

View file

@ -488,13 +488,10 @@ int ExchangeAPDUSC(uint8_t *datain, int datainlen, bool activateCard, bool leave
// retry // retry
if (len > 1 && dataout[len - 2] == 0x6c && datainlen > 4) { if (len > 1 && dataout[len - 2] == 0x6c && datainlen > 4) {
UsbCommand c2 = {CMD_SMART_RAW, {SC_RAW_T0, datainlen, 0}}; UsbCommand c2 = {CMD_SMART_RAW, {SC_RAW_T0, datainlen, 0}};
memcpy(c2.d.asBytes, datain, datainlen); memcpy(c2.d.asBytes, datain, 5);
int vlen = 5 + datain[4]; // transfer length via T=0
if (datainlen == vlen) c2.d.asBytes[4] = dataout[len - 1];
datainlen++;
c2.d.asBytes[vlen] = dataout[len - 1];
clearCommandBuffer(); clearCommandBuffer();
SendCommand(&c2); SendCommand(&c2);