ACR3801 – Reference Manual
Version 2.01
www.acs.com.hk
Page 52 of 62
8.3.8.5. VERIFY_USER_CODE
This command is used to submit User Code (2 bytes) to the inserted card. User Code is to enable the
memory access of the card.
The following actions are executed:
1. Present the specified code to the card.
2. Search a '1' bit in the presentation error counter and write the bit to '0'.
3. Erase the presentation error counter. The User Error Counter can be erased when the
submitted code is correct.
Command Format (
abData
field in the
PC_to_RDR_XfrBlock
)
Pseudo-APDU
CLA INS Error Counter LEN Byte Address MEM_L
CODE
Byte 1 Byte 2
FFh
20h
04h
08h
02h
Where:
Error Counter LEN
Length of presentation error counter in bits
Byte Address
Byte address of the key in the card
CODE
2 bytes User Code
Response Data Format (
abData
field in the
RDR_to_PC_DataBlock
)
SW1 SW2
Where:
SW1 SW2
= 90 00h if no error
= 63 00h if there are no more retries
Note:
After SW1SW2 = 0x9000h has been received, read back the User Error Counter to check
if the VERIFY_USER_CODE is correct. If User Error Counter is erased and is equal to “0xFFh,”
the previous verification is successful.
8.3.8.6. VERIFY_MEMORY_CODE
This command is used to submit Memory Code (4 bytes) to the inserted card. Memory Code is used
to authorize the reloading of the user memory, together with the User Code.
The following actions are executed:
1. Present the specified code to the card.
2. Search a '1' bit in the presentation error counter and write the bit to '0'.
3. Erase the presentation error counter. Please note that Memory Error Counter cannot be
erased.