Verification example 1 – ACS ACR83 PINeasy Smart Card Reader User Manual
Page 17

ACR83 – Reference Manual
Version 1.05
www.acs.com.hk
Page 17 of 49
11.3. Verification Example 1
System unit is bit.
Command Header
SpePINLen
APDU Command
Header
APDU
Length
Offset SpePINPos
PIN
CLA INS P1 P2
Lc
Offset
SpePINLenPos
SpePINSize
Not used
field/may not exist
PIN
Check points in implementing the PIN Verification Data Structure:
•
SpePINLen must be equal to Lc
•
SpePINPos must be equal or larger than SpePINLenPos + SpePINSize
•
SpePINLen – SpePINPos must be larger or equal to SpePinMax (if BCD, need multiple 4)
•
SpePinMax must be equal or larger than SpePinMin
•
SpePinMax cannot be larger than 16 digits because LCD one row only have 16 digits
•
SpePinMin must be equal or larger than 1
abPINApdu = 00 20 00 01 09 57 30 30 30 30 30 30 30 30h
After Lc (09h), the first 7 bits (0101011) is control character.
bmFormatString=39h
SpePinPos=7 bits because bmFormatString bit 7 = 0
SpeLeftRight=Left
SpePINTyp=BCD
bmPINBlockString=49h
SpePINSize=4 bits
SpePINLen=9 bytes
bmPINLengthFormat=02h
SpePINLenPos=2 bits
wPINMaxExtraDigit=010Ah
SpePinMax=0Ah
SpePinMin=01h
PIN Input = 1 2 3 4 5 6 7 8 0
Error checks points:
•
Point 1:
SpePINLen (9h) equal to Lc (9h)