Pin modification data structure – ACS ACR83 PINeasy Smart Card Reader User Manual
Page 23

ACR83 – Reference Manual
Version 1.05
www.acs.com.hk
Page 23 of 49
12.0. PIN Modification Data Structure
For PIN Modification, we need to understand the PIN Modification Data Structure.
bTimeOut: Number of seconds for key press (00h: default value = 60 seconds)
abPINApdu = CLA INS P1 P2 Lc XX XX XX XXh …
For bConfirmPIN bit1 =0
Ex: abPINApdu = 00 24 00 01 08 FF FF FF FF FF FF FF FFh
(New PIN)
For bConfirmPIN bit1 =1
Ex: abPINApdu = 00 24 00 01 10 20 FF FF FF FF FF FF FF 20 FF FF FF FF FF FF FFh
(Old/Current PIN)
(New PIN)
bmFormatString (Bit 7):
0: means the system units is bit
1: means the system units is byte
Bit 6~3 (SpePinPos): PIN position after format in the APDU command
Bit2 (SpeLeftRight): 0=Left, 1=Right
Bit1~0 (SpePINTyp):
00h: Binary ex: 01 02 03 04 05 06
01h: BCD ex: 12 34 56
10h: ASCII ex: 31 32 33 34 35 36
bmPINBlockString:
Bit7~4 (SpePINSize):
Ex: 2 means 2*2 -1 = 4 - 1 allow maximum 3 digits PIN
If SpePINSize = 0, it means no PIN management.
Bit3~0 (SpePINLen): PIN block size in bytes after justification and formatting
bmPINLengthFormat:
Bit3~0 (SpePINLenPos): indicates the PIN length position in the APDU command
If SpePINLenPos =0, it means no PIN management.
Bit4: 0: indicates if the SpePINLenPos is in bit or byte unit
bInsertionOffsetOld (SpeOffsetOld): insertion position offset in byte for the current PIN
bInsertionOffsetNew (SpeOffsetNew): insertion position offset in byte for the new PIN