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

Page 31

Advertising
background image

ACR83 – Reference Manual

[email protected]

Version 1.05

www.acs.com.hk

Page 31 of 49

PIN (bits)

Original

1 0011 0000 0011 0000 0011 0000 0011 0000 001

1 0000

0011 0000 0011 0000 1100 0000

Input New PIN

0 0010 0100 0110 1000 1010 1100 1111 0000 000

Result PIN

0 0010 0100 0110 1000 1010 1100 1111 0000 000

1 0000

0011 0000 0011 0000 1100 0000

Result APDU in bit

format

01

10 01

1

0 0010 0100 0110 1000 1010 1100 1111 0000 000

1

0000 0011 0000 0011 0000 0011 0000

Result APDU in byte

format

66 24 68 AC F0 10 30 30 30


The whole APDU in byte format will be:

00 24 00 01 0A 20 66 24 68 ac f0 10 30 30 30h

If arrangement is Right:
bmFormatString change to=3Dh

00 24 00 01 0A 20 67 30 30 30 31 23 45 67 80h


If SpeOffsetNew = 00h and abPINApdu = 00 24 00 01 09 57 30 30 30 30 30 30 30 30h
bmFormatString
change to=39h

The result formatting APDU = 00 24 00 01 09 66 24 68 ac f0 10 30 30 30h

12.11. Modification Example 3

bConfirmPIN Bit1 = 0
(No current/Old PIN entry requested)
System unit is Byte.

Command Header

OffsetNew

Offset SpePINPos

SpePINLen

APDU

Command

Header

APDU

Lc

OffsetNew

Offset SpePINPos

PIN

CLA INS P1 P2

Lc

OffsetNew

Offset

SpePINLenPos SpePINSize

Not used

field

PIN


Check points in implementing the PIN Modification Data Structure:

1. Lc must be equal to SpePINLen + SpePINPos + SpeOffsetNew
2. SpePINPos must be equal or larger than SpePINLenPos + SpePINSize
3. SpePINLenSpePINPos must be larger or equal to SpePinMax (if BCD, need multiple 4)
4. SpePinMax must be equal or larger than SpePinMin
5. SpePinMax cannot be larger than 16 digits because LCD one row only have 16 digits
6. SpePinMin must be equal or larger than 1

Advertising