Modification example 5 – ACS ACR83 PINeasy Smart Card Reader User Manual

Page 36

Advertising
background image

ACR83 – Reference Manual

[email protected]

Version 1.05

www.acs.com.hk

Page 36 of 49


And then, handle the New PIN.

New PIN (Byte)

Original

00 24 00 01 12 08 0

6

12 34 56

30 30 30 30 09 03

30 30 30 30

30 30 30h

Input

12 34 56 78 90h

Result PIN

00 24 00 01 12 08 0

6

12 34 56

30 30 30 30 09 0

A

12 34 56 78

90

30 30h


The whole APDU after the format will be:

00 24 00 01 12 08 0

6

12 34 56

30 30 30 30 09 0

A

12 34 56 78

90

30 30h

12.13. Modification Example 5

BConfirmPIN Bit1 = 1
(Current/Old PIN entry requested)
System unit is byte.

APDU Command

SpeOffsetOld

Offset SpePINPos

SpePINLen

APDU Header APDU

Lc

Maybe not

Offset SpePINPos

Old PIN

CLA INS P1 P2

Lc

Exists

Offset

SpePINLenPos SpePINSize

Not used

field

Old PIN

SpeOffsetNew

Offset SpePINPos

SpePINLen

Maybe not

Offset SpePINPos

New PIN

Exists

Offset

SpePINLenPos

SpePINSize

Not used field

New PIN


Check points in implementing the PIN Modification Data Structure:

SpePINLen + SpeOffsetNew + SpePINPos must be equal to Lc

SpeOffsetNew >= SpeOffsetOld + SpePINPos + SpePINLen

SpePINPos must be equal or larger than SpePINLenPos + SpePINSize

SpePINLenSpePINPos 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 24 00 01 12 2F 0A A6 30 30 30 30 30 30 2E FB C7 30 30 30 30 30 30h

bConfirmPIN =

03h

(if bConfirmPIN = 03h, bNumberMessage must equal to 03h or FFh)

Advertising