4 - Command Set
DynaPro Go| Handheld PIN Pad Device with MSR/Contact/Contactless | Programmer’s Manual (COMMANDS)
Page 96 of 247 (
D998200136-31
)
4.4.4
Report 0x23 - Card Data Report (MAC-MSR)
In response to the host sending
Command 0x0A - Request MSR Data
after a card swipe or manual card
entry, the device sends multiple instances of this report; one for each
Data ID
listed in
When sending encrypted data, the device encrypts using the current MSR DUKPT working key. It will
use either the data variant or the PIN variant, based on how the device is configured (see the
MSR
Encryption Variant
Command 0x09 - Set / Get Device Configuration
).
To calculate a CBC-MAC for comparison, the host should store all bytes of all incoming reports as-
received (without decrypting), and assemble them end-to-end, stopping when it receives the final report,
which will always contain
Data ID 0x64 CBC-MAC
. The host should then calculate the CBC-MAC
over the data collected from all previous reports, using the
Message Authentication, request or both ways
variant of the same MSR DUKPT working key the device used to encrypt the data. For details about the
MAC algorithm, see section
4.2 About Message Authentication Codes (“MAC-AMK” or “MAC-
Table 4-60 - Usage Table for Report 0x23
Bit
7
6
5
4
3
2
1
0
Byte 0
0x23
Byte 1
Data ID:
0x01 = Track 1 data
0x02 = Track 2 data
0x03 = Track 3 data
0x04 = Encrypted Track 1 data
0x05 = Encrypted Track 2 data
0x06 = Encrypted Track 3 data
0x07 = Encrypted MagnePrint data
0x40 = Encrypted PAN and expiration date (financial cards only; otherwise data is blank)
0x41 = Device serial number
0x63 = KSN and MagnePrint Status
0x64 = CBC-MAC
Byte 2
Track Status:
0x00 = OK
0x01 = Empty
0x02 = Error
0x03 = Disabled
Byte 3
Data Length