Uniform PP190 PIN Pad User Manual PIN Pad PP190

Uniform Industrial Corp. PIN Pad PIN Pad PP190

Manual

PIN Pad PP190
Programmer’s Manual
Personal ID Number Pad
Revision 0
2014-02-06
PIN Pad 190 Programmer’s Manual
2014-02-06
Page 1
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
FEDERAL COMMUNICATIONS COMMISSION STATEMENT
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1)
this device may not cause harmful interference, and (2) this device must accept any interference received,
including interference that may cause undesired operation.
NOTE
This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to
Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful
interference when the equipment is operated in a commercial environment. This equipment generates, uses,
and can radiate radio frequency energy and, if not installed and used in accordance with the instruction
manual, may cause harmful interference to radio communications. Operation of this equipment in a
residential area is likely to cause harmful interference in which case the user will be required to correct the
interference at his own expense.
You are cautioned that any change or modifications to the equipment not expressly approve by the party
responsible for compliance could void your authority to operate such equipment.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page 2
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
NOTICE
The issuer of this manual has made every effort to provide accurate information. The issuer will not be held
liable for any technical and editorial omission or errors made herein; nor for incidental consequential
damages resulting from the furnishing, performance or use of this material. This document contains
proprietary information that is protected by copyright. All rights are reserved. No part of this document may be
photocopied, reproduced, or translated without the prior written consent of the issuer. The information
provided in this manual is subject to change without notice.
第十二條 經型式認證合格之低功率射頻電機,非經許可,公司、商號或使用者均不得擅自變更頻率、 大功率
或變更原設計之特性及功能。
第十四條 低功率射頻電機之使用不得影響飛航安全及干擾合法通信經發現有干擾現象時應立即停用並改
善至無干擾時方得繼續使用。
前項合法通信,指依電信法規定作業之無線電通信。低功率射頻電機須忍受合法通信或工業、科學及醫療用電
波輻射性電機設備之干擾。
AGENCY APPROVED
- FCC class B
- CE class B
WARRANTY
This product is served under one-year warranty to the original purchaser. Within the warranty period,
merchandise found to be defective would be repaired or replaced. This warranty applies to the products only
under the normal use of the original purchaser, and in no circumstances covers incidental or consequential
damages through consumersmisuse or modification of the products.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page 3
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Document History
Document Version Apply to FW version Change
0A 190BL00A
190SC00A
190PM00A
First SQA
0B 190BL00A
190SC00B
190PM00A
1. First SQA debug.
0C 190BL00A
190SC00C
190PM00A
1. Second SQA debug.
2. Add new command0116”.
3. Add new command9496”.
4. Add new function self diagnostic”.
0D 190BL00A
190SC00D
190PM00A
1. Third SQA debug
2. Add new function Remote key injection(R00 ~ R02)
0E 190BL00A
190SC00E
190PM00A
1. Fourth SQA debug
2.
Add new function RTC(Real time clock) and new
command P18
0F 190BL00A
190SC00F
190PM00A
1. Fifth SQA debug
a. Modify command 02.
b. Modify command 08.
c. Modify command 72.
d. Modify command Z2 to response <EOT> at end of
transmit.
e. Modify command Z60.
f. Modify command 70 (PIN Entry Request with
DUKPT) to check exist of DUKPT key early.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page4
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Table of Contents
Section 2 PP190 Setup & Diagnostic Menu __________________________________ 7
Start Up Self Test _____________________________________________________________ 7
Call up Diagnostic Menu ______________________________________________________ 7
Diagnostic Menu 1: HW Tests __________________________________________________ 7
Diagnostic Menu 2: Display Info ________________________________________________ 8
Diagnostic Menu 3: Set LCD Backlight ___________________________________________ 8
Diagnostic Menu 4: Set Keypad Beep ____________________________________________ 8
Diagnostic Menu 5: Update Password ___________________________________________ 8
About USB virtual COM port (only applied on USB version) _________________________ 9
Section 3 Message format ______________________________________________ 10
Notation Conventions ________________________________________________________ 10
Message frame summary _____________________________________________________ 11
Section 4 Administration and maintenance messages _______________________ 12
Message 01 Self Test ________________________________________________________ 12
Message 02 Load Master Key _________________________________________________ 14
Symmetric Keys Loading Authentication ________________________________________ 18
Message 04 Check Master Key ________________________________________________ 20
Message 05 Load Serial Number _______________________________________________ 22
Message 06 Get Serial Number ________________________________________________ 23
Message 07 Test DES Implementation __________________________________________ 24
Message 08 Select Master Key ________________________________________________ 25
Message 09 Communication Test ______________________________________________ 26
Message 11 PIN Pad Device Connection Test ____________________________________ 28
Message 13 Adjust COM1 Baud Rate (RS-232 version only) ________________________ 29
Message 16 Remote self-test request ___________________________________________ 31
Message 17 Request random number __________________________________________ 32
Message 18 Get/Set PIN pad system time _______________________________________ 33
Message 19 Query Firmware Version ___________________________________________ 35
Message 1J Turn ON/OFF LCD Backlight ________________________________________ 37
Message 1M Setup Keypad Beeper _____________________________________________ 39
Section 6 Online transaction messages with Master/Session Keys (MK/SK) _____ 41
Message 70 PIN entry request (MK/SK) _________________________________________ 41
Message 71 Encrypted PIN Block Response _____________________________________ 44
Message 72 PIN Entry Cancel _________________________________________________ 47
Message Z0 Move Display Cursor ______________________________________________ 48
Message Z1 Reset State ______________________________________________________ 49
Message Z2 Display String ____________________________________________________ 50
Message Z3 Display Line Prompts _____________________________________________ 53
PIN Pad 190 Programmer’s Manual
2014-02-06
Page5
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Z2 / Z3 Authenticated mode with fixed prompt ___________________________________ 56
Z2 / Z3 PIN entry mode with fixed prompt _______________________________________ 56
Message Z2 Display String with Authentication Code _____________________________ 57
Message Z3 Display Line Prompts with Authentication Code _______________________ 59
Example to use Z2 / Z3 with Authencation Code. _________________________________ 61
Message Z42 Read Key Code ________________________________________________ 62
Message Z43 Read Key Code Response _______________________________________ 63
Message Z50 String Entry Request ___________________________________________ 64
Message Z51 String Entry Response __________________________________________ 66
Message Z60 PIN entry request with external prompt (MK/SK)_____________________ 67
Message Z62 PIN entry request with customized prompt (MK/SK) _________________ 69
Message Z64 Query Key Check Value (KCV) ____________________________________ 72
Message Z65 Key Check Value Response _______________________________________ 73
Message Z66 Message Authentication Code (MAC) Request ______________________ 74
Message Z67 Message Authentication Code (MAC) Response _____________________ 77
Message Z7 Turn ON/OFF CANCEL Message Display _____________________________ 79
Message Z8 Set Idle Prompt __________________________________________________ 80
Section 7 Online transaction messages with Derived Unique Key per Transaction
(DUKPT) ______________________________________________________________ 81
Message 60 Pre-authorization PIN Entry Request _________________________________ 82
Message 62 Pre-authorization Amount Authorization Request ______________________ 84
Message 70 PIN Entry Request (DUKPT) ________________________________________ 85
Message 71 Encrypted PIN Block Response _____________________________________ 87
Message 72 PIN Entry Cancel _________________________________________________ 89
Message Z60 PIN entry request with external prompt (DUKPT) ____________________ 90
Message Z62 PIN entry request with customized prompt (DUKPT) _________________ 92
Message 76 PIN Entry Test Request ____________________________________________ 95
Message 7A KSN output format _______________________________________________ 96
Message 90 Load First Initial Key Request ______________________________________ 97
Message 91 Load Initial Key Response _________________________________________ 99
Message 94 Load Second Initial Key Request ___________________________________ 100
Message 96 Select Active Key Set ____________________________________________ 101
Section 8 Remote key injection method __________________________________ 102
Message R00 Load Vender Public Key _________________________________________ 103
Message R01 Update RSA Key _______________________________________________ 106
Message R02 Remote Key Injection ___________________________________________ 112
Section 9 EMV Level 2 transaction messages _____________________________ 117
Message T51 Terminal Configuration Setup ____________________________________ 118
Message T52 Terminal Configuration Setup Response ___________________________ 121
Message T53 Certificate Authority Public Key Setup _____________________________ 122
PIN Pad 190 Programmer’s Manual
2014-02-06
Page6
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T54 Certificate Authority Public Key Setup Response ____________________ 125
Message T55 EMV Application Configuration Setup ______________________________ 126
Message T56 EMV Application Configuration Setup Response ____________________ 131
Message T61 Start Transaction _______________________________________________ 132
Message T62 Start Transaction Response ______________________________________ 134
Message T63 Get Transaction Result’s Data ____________________________________ 136
Message T64 Get Transaction Result’s Data Response ___________________________ 137
Message T65 Get Online authorization Data ____________________________________ 138
Message T66 Response of Get Online authorization Data message _________________ 139
Message T71 Send Online Authorized Code ____________________________________ 140
Message T73 Send Issuer Script Command ____________________________________ 142
Message T74 Send Issuer Script Command Response ___________________________ 143
Message T75 Revocation List Setup ___________________________________________ 144
Message T76 Revocation List Setup Response__________________________________ 145
Message T77 Exception List Setup ____________________________________________ 146
Message T78 Exception List Setup Response ___________________________________ 147
Appendix A Key management __________________________________________ 148
Appendix B PIN Block Format _________________________________________ 156
ANSI x9.8 format (MK/SK, DUKPT, and Offline clear text PIN entry) _________________ 156
Appendix C Fixed Prompts for Z2/Z3 authenticated mode ___________________ 157
Appendix D Fixed Prompts for Z2/Z3 PIN entry mode ______________________ 159
PIN Pad 190 Programmer’s Manual
2014-02-06
Page7
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 2 PP190 Setup & Diagnostic Menu
Start Up Self Test
PP190 will perform a series of self-tests during start up, which include:
Internal firmware checksum: PP190 will verify the internal firmware checksum to ensure the integrity
of the firmware program. If firmware checksum error, PP190 will show following prompt and reject
further commands:
Security Memory Integrity: PP190 will verify secret personalization information written in the Battery
Powered Key (BPK) register of the CPU. If BPK verification failed (possibly by security breach or
internal battery exhausted,) PP190 will show following prompt and reject further commands:
Call up Diagnostic Menu
Press function key [CLR] + [3] (quickly press ‘3’ after [CLR] released) of PP190 will call up diagnostic
menu when PP190 in idle state. The default 2 passwords for diagnostic menu are “87806799” (both
passwords)
Diagnostic Menu 1: HW Tests
DISPLAY ACTION
Display Test
Display two pages of test pattern:
First page is turn on all pixels to check if there are any dot
** A L E R T **
ROM CHKSUM FAILD
** A L E R T **
PED WAS TAMPERED
DISPLAY ACTION
(Idle prompt) Power on.
Press [CLR]+[3]
Password 1?
Input first setup password and press [ENTER]
Password 2?
Input second setup password and press [ENTER]
HW Tests
Display Info
Set LCD Backlight
Set Keypad Beep
Update Password
Use left button [-] and right button [-] to scroll up and down.
[ENTER] to execute.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page8
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
damage. Press any key or wait 10 sec to continue.
Second page shows PP190 character sets. Press any key or wait
5 sec to leave.
Keypad Test
PP190 will echo users input key at line 2.
Press [CAN] to leave this test.
Diagnostic Menu 2: Display Info
DISPLAY ACTION
Show SerialNum
Display current serial number. Refer to message 06.
Show Version
Display current firmware version.
Diagnostic Menu 3: Set LCD Backlight
DISPLAY ACTION
Light Always ON
Light Auto OFF
First item will set LCD backlight always on. This setting is the
same with message 1J with parameter 1.
Second item will set PP190 enable its backlight in following
situation:
a. Any key is pressed.
b. PIN entry command is working
c. Selecting Menu.
And backlight will automatically turn off after
3 seconds of
above operation ends.
Diagnostic Menu 4: Set Keypad Beep
DISPLAY ACTION
Beep ON
Key press with beep.
Beep OFF
Key press without beep.
Diagnostic Menu 5: Update Password
DISPLAY ACTION
PIN Pad 190 Programmer’s Manual
2014-02-06
Page9
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
About USB virtual COM port (only applied on USB version)
PP190 USB version will identify itself as a virtual COM port for Windows 2000/XP device enumeration.
When Windows requests PP190s device driver, please provide a directory name which contains PP190
USB driver, and answer proceed anywaywhen prompted with driver certification questions.
The baud rate of PP190 virtual COM port is determined by the application program. When AP calls
Windows API to open COM port, PP190 and Windows virtual COM port driver will adjust its baud rate
according to the parameters sent to API function.
Update Password1
PP190 will show following message:
NEW PASSWD
****
CONFIRM PASSWD
****
User should press 1st password, press [ENTER] to enter 2nd
password, then press [ENTER] to finish input. If two passwords
mismatch the password will not be changed. Password must have
4 characters at least, with maximum 8 characters.
Update Password2
PP190 will show following message:
NEW PASSWD
****
CONFIRM PASSWD
****
(Usage is the same with password 1.)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page10
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 3 Message format
This chapter details the format of messages exchanged between the host and PIN Pad.
Notation Conventions
The following conventions are used to make the description of messages more readable:
Control Codes
Control codes (non-displayable codes) are represented by two to three capital letters enclosed in angled
brackets <>. This PIN Pad uses 12 control codes in total. Their actual code, when referenced, is
represented by two hex digits enclosed in angled brackets, <0F> for example. The following table lists
their usage and value in hex codes.
CODE HEX VALUE USAGE
STX 02 Denotes the beginning of a message frame
ETX 03 Denotes the ending of a message frame
EOT 04 Indicates communication session terminated
ACK 06 Acknowledge of message received
SI 0F Denotes the beginning of a message frame
SO 0E Denotes the ending of a message frame
NAK 15 Indicates invalid message received
SUB 1A Message parameter follows
FS 1C Field separator
GS 1D Message ID follows
[LRC]
Each message frame transmitted is followed by an LRC byte to detect communication error. This byte
should be regarded as part of the message frame but comes after the ending delimiter character. [LRC]
is used to represents this LRC byte in describing message frames.
LRC is calculated as an XORed value of every byte after start code in the message frame except itself,
that means from the next byte of <STX> or <SI> through the <ETX> or <SO> byte.
[item]
A descriptive item name enclosed in bracket denotes a string or data byte that has no fixed value.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page11
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message frame summary
Data exchanged between PIN Pad and host computer are grouped into message frames. Each
message frame has one of the two frame formats listed below:
<STX>[message ID][data]<ETX>[LRC]
<SI>[message ID][data]<SO>[LRC]
Each type of message has a unique value in its message ID field. In the following texts, we reference a
message type by its message ID value, e.g. message 70”.
Message type
Messages exchanged between the Signature PIN Pad and the HOST can be divided into two categories.
One is for administration and maintenance, in general administrative messages have <SI> packet
header and will return message to HOST by the same message ID.
The other is for various transactions, in general transaction messages have <STX> packet header, and
comes in pair. Even number message packets sends command and data to Signature PIN pad, then odd
number message packets returns the result.
Time-out
Whenever the PIN Pad sends a message, a response (<ACK> character for acknowledgement or
<NAK> character if LRC error occurred) from host is expected. If the PIN Pad does not receive a
response within 5 seconds, it will retransmit the last packet. If PIN pad does not receive <ACK> or
<NAK> after two retransmit attempts, it will send <EOT> character and this communication session will
be terminated.
Transmission Error
The PIN Pad expects the host computer to send a NAK when the host decides that an invalid frame is
received. When the PIN Pad receives a NAK, it will retransmit its last message. If the message
retransmitted is invalid again, then a NAK should be sent by host to request for another try. The PIN Pad
will keep on retransmitting until an <ACK> or <EOT> is received.
Packet Error
When PIN pad received a good transmission but invalid packet (wrong message id) it will ignore the
packet. If the packet has acceptable message id but have wrong format. PIN pad will send <EOT> as
error message. When in PIN entry functions it will send more detail error code.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page12
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 4 Administration and maintenance messages
Message 01 Self Test
Format: <SI>01[test item]<SO>[LRC]
Message length: Fixed 7 bytes.
Usage: Field maintenance users can issue message 01 to do interactive PIN Pad self-tests.
Test results will be displayed on PIN Pad.
04PIN Pad will detect specific pattern of key presses as a correctpattern, which is
[F1] [MENU] [F2] 1 2 3 4 5 6 7 8 9 [CAN] 0 [ENTER] [CLEAR]. Key press
pattern other than above will be treated as fail. Issue message 72 will interrupt this test,
too.
05: PIN pad will display 2 test pages: First one is a full screen of black dots to check
for damaged dot. Press [ENTER] or wait 10 seconds to display page 2, which is some
characters. Press [ENTER] again to end this test.
06: PIN pad will display its serial number on the LCD display.
07: PIN pad will execute a communication test, see next page for message flow.
Message element:
Field Length Value and description
<SI> 1 <0F>
01 2 Message ID
[Test item] 2 01
02
03
04 Keypad test
05 Display test
06 Check serial number
07 Communication test
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow: (for test item 04 through 06)
HOST Direction PIN Pad
Message 01
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Execute self test)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page13
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<EOT> (when test done)
Message flow: (for test 07)
HOST Direction PIN Pad
Message 01
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
09 Request Packet
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
09 Response Packet
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
09 Response Packet
<ACK> (Good LRC)
<NAK> (Bad LRC)
<EOT> (when test done)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page14
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 02 Load Master Key
Format: <SI>02[Key ID][Key value] <FS>[Usage][Mode]<SO>[LRC]
(with clear text key)
<SI>02[Key ID][Key value (ANSI TR31 format)]<SO>[LRC]
(with encrypted key)
Message length: Variable (38 to 94 bytes).
Usage: Load Master Keys into PP190.
PP190 can store 16 master keys; each has a one digit ID. Master keys are divided into
three groups of different functions. Refer to Appendix A: Key management for key
usage and ID definition.
PP190 implements multiple security measures to conform Payment Card Industry (PCI)
security requirement. In order to load clear text master keys, two authorized people
with their password are required. Otherwise the user must issue message 02 with
encrypted key value (ANSI TR31 format). See next entity Symmetric Keys Loading
Authenticationfor detailed information.
Note: 1. The [key value] fields format is ASCII string with range ‘0’-‘9’, ‘A’-‘V’, which
represents a hexadecimal byte in two characters, i.e. 1Frepresents 0x1F.
2. PP190 requires key loading key (master key #F) to be TDES.
3. Pass key loading authentication and then load new clear text master key will erase
all other master keys, to prevent malicious key substitution. For more information refer
to Symmetric Keys Loading Authenticationat page 24.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page15
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message element:
Request fame (HOST to PP190)
Field Length Value and description
<SI> 1 <0F>
02 2 Message ID
[Key ID] 1 ‘0’ to ‘9’, ‘A’ to ‘F(A is not used)
[Key value] Var. Hexadecimal string for key value.
bytes for triple length.
TR31 format: 56 bytes for single length, 72 bytes
for double length, 88 bytes for triple length.
<FS> 1 Field separator.
(Optional, only available in clear text format frame
if following [Usage] and [Mode] exists)
[Usage] 2 Optional: ANSI TR-
frame. Available value are:
K0for key encryption. (id 0 ~ 9, B ~ F)
P0for PIN encryption. (id 0 ~ 9)
M3for MAC calculation. (id B ~ E)
If omitted, default value is K0
[Mode] 1 Optional: ANSI TR-
frame.
Available value are:
‘D’ for decryption only. (K0 keys)
‘E’ for encryption only (P0 / D0 keys)
‘G’ for MAC generation only (M3 keys)
‘V’ for MAC verification only (M3 keys)
If omitted, default value is ‘D’.
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page16
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Request fame Error message (HOST to PP190)
Field Length Value and description
<SI> 1 <0F>
02 2 Message ID
? 1
[Err msg] 1 ‘1’: KLK does not exist.
‘2’: Key value duplicated with other existing key.
‘3’: Internal fail: fail to allocate memory
‘4’: Internal fail: fail to read key structure
‘7’: Fail to decrypt key value.
‘A’: TR31 format error.
‘B’: Insecure key inject. (New key is longer than
the key used to protect it.)
‘C’: Fail to verify MAC value.
‘E’: Key usage incompatible with key ID.
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 02 (request frame)
<ACK> /<NAK>/<EOT>
Processing request.
If format error, send <EOT> and end.
Message 02 (echo of request frame).
Verify echo frame.
If verify ok, send <ACK>.
If packet LRC error, send
<NAK>.
If host want to cancel key
loading procedure, send
<EOT>.
Save key value and send <EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page17
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Example:
Clear Text
Master key to be loaded: 1919191919191919 5B5B5B5B5B5B5B5B
The Key ID you want to load: 0
The resulting 02 message : <SI>02019191919191919195B5B5B5B5B5B5B5B<SO>[LRC]
Encrypted (ANSI TR-31 2005 Key Variant Binding Method)
Key encrypting key (Mkey #F): 1919191919191919 5B5B5B5B5B5B5B5B
Master key to be loaded (K0): AA55AA55AA55AA55 3434343434343434
Key Block Header (KBH): (ASCII) A0072K0TD00N0000
TDES CBC encrypted key value: 7D2D21FC9ECD3EEC BB0A2615BD8F0560 5722120BDFF2CCAC
Left 4 bytes of MAC value: 319C3198
The Key ID you want to load: 0
The resulting 02 message:
<SI>020A0072K0TD00N00007D2D21FC9ECD3EECBB0A2615BD8F05605722120BDFF2CCAC319C3
918 <SO>[LRC]
Encrypted (ANSI TR-31 2010 Key Derivation Binding Method)
Key condition: Load a double length PIN encryption key to key position #1
Key block protection key (KBPK): 1919191919191919 5B5B5B5B5B5B5B5B
PIN encryption key to be loaded: AA55AA55AA55AA55 3434343434343434
Padded key data: 0080 AA55AA55AA55AA55 3434343434343434 1C2965473CE2
Key Block Header (KBH): (ASCII) B0080P0TE00N0000
Derived Key block encryption key (KBEK): DB7F2A99D5647A7D D3EDFE3DA7CF5B21
Derived Key block MAC key (KBMK): 87EE6C0795954446 A34A0BB5F305BCE1
(See Appendix A for detail derive process)
CMAC of (KBH + Padded key data), using KBMK: EA391E5834C1AA0C
(See Appendix A for detail CMAC algorithm)
Use CMAC as IV to do TDES CBC encryption on padded key data, using KBEK:
Encrypted key data: 3C4F5024C59C182F 7165BC870FCB7F63 456AAE07DB736C32
The resulting 02 message:
<0F>021B0080P0TE00N0000 3C4F5024C59C182F 7165BC870FCB7F63 456AAE07DB736C32
EA391E5834C1AA0C<0E>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page18
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Symmetric Keys Loading Authentication
In order to make PP190 accept clear text key loading frame, the key loading authentication must be
processed.
[Enter key loading authentication menu]
Press [CLR]+[2] on the keypad of PP190, then PP190 will show key injection authentication login screen
as following:
ENTER PASSWORD 1:
(Default password will be sent to authentic owner separately)
The first authorized person come to enter 1st password on keypad and press [ENTER].
Then PP190 will prompt to enter 2nd password if 1st password is correct. If 2nd password is correct, too,
PP190 will enter key loading mode and show following menu:
KEY INJECT MODE
Update Password1
Update Password2
Inject MKEY/IPEK
Use [F1] and [F4] key to navigate light bar to Inject MKEY/IPEK, then press [ENTER]. Then user is free
to load clear text master key by message 02, or load DUKPT initial key by message 90 and 94.
[Timing constraint and message constraint of Key Inject Mode]
According to PCI security requirement, PIN pad cannot stay in Key Inject Mode forever. Thus when
PP190 entered Key Inject Mode, its internal timer will start to countdown, and its operating system will
monitor specific message packets. If any one of following criteria is matched, PP190 will exit Key Inject
Mode and reject message 02(clear text form) and 90, 94 command:
1. When PIN pad idled for 60seconds, it will exit Key Inject Mode. (Each time 02 / 90 / 94 / 08 / 96 is
succeeded, the 60 seconds counter will reset to 60 again.)
2. When PIN pad has been in Key Inject Mode for 15 minutes. It will unconditionally exit Key Inject
Mode.
3. When PIN pad receives messages other than 02 / 90 / 94 / 08 / 86, it will exit Key Inject Mode.
4. When user pressed CAN key on keypad, it will exit key inject mode.
[Master key substitution protection]
When user entered Key Inject Mode, PIN pad operating system will set up a new Key Injecting
Session. The first injected clear text master key in a new session will erase all other master keys.
The other master keys loaded in the same session will not erase any other master key.
DUKPT key set 0 and set 1 will not erase each other.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page19
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Example flow to load master keys with security:
In the following example we assume a bank receives a new PP190 and wants to initialize it before deploy.
And want to update some master keys after its deployed. We also assume the master key to be loaded is
position 0 and position F; their values are already stored in a Tamper Resistant Security Module (TRSM)
in a secure way.
1. The bank must generate two passwords, and make two authorized people to keep them separately.
2. Authorized people must enter KEY INJECT AUTH menu and change password 1 and password 2.
3. After password changed, connect PIN pad to TRSM, enter KEY INJECT AUTH menu again and
choose Inject MKEY/IPEK function.
4. Operate TRSM to load master key #F and master key #0.
After step 4 finishes, user can issue other commands to PIN pad (such as message 08 to select key
#0 as active master key) or turn it off and deploy it.
5. To load or update master keys at field site, user should issue encrypted command 02.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page20
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 04 Check Master Key
Format: <SI>04[key ID][Key Info Query]<SO>[LRC]
Message length: Variable (6 or 7) bytes.
Usage: Host sends this message to PIN Pad for checking if the master key with an ID of [key
ID] has been loaded or not. Message 04 should be used before loading any master
key. Message 04 can be also used to query key information (key
usage/mode/algorithm) if the designated key is not empty.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
04 2 Message ID
[key ID] 1 Master key ID (0~9, A~G)
[Key Info Query] 1 <Option>, 1: query key information
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
04 2 Message ID
[response code] 1 0 Master key not loaded
F Master key loaded
[Key usage] 2 <Option, if key info query filed is set>
K0: Key encrypting key. (Master key
for PIN / MAC / Data key)
P0: PIN key
D0: Data key
M1”: MAC key for MAC algorithm 1
M3”: MAC key for MAC algorithm 3
<FS> 1 <Option, if key info query filed is set>
<1C>, filed separator
[Mode] 2 <Option, if key info query filed is set>
“E”: Encryption use
“D”: Decryption use
<FS> 1 <Option, if key info query filed is set>
<1C>, filed separator
[Algorithm] 2 <Option, if key info query filed is set>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page21
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
“T”: Triple DES
“D”: Single DES
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 04 (request)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Check requested memory location
Message 04 (response)
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page22
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 05 Load Serial Number
Format: <SI>05[string]<SO>[LRC]
Message length: Variable, maximum length is 21 bytes
Usage: Load the PIN Pad with the serial number given in the message frame. PIN Pad will
send the whole message frame back to host as a confirmation of good reception. Host
should then send an <ACK> to confirm or <EOT> to cancel this serial number loading
process if the LRC is good but serial number echoed is incorrect. Follow the standard
<NAK> process if an invalid LRC is detected.
Message element:
Field Length Value and description
<SI> 1 <0F>
05 2 Message ID
[string] 0..16 Alphanumeric string (0~9, A~Z, a~z)
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 05
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 05 (echo frame)
or <EOT> indicate error.
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Stores serial number)
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page23
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 06 Get Serial Number
Format: <SI>06<SO>[LRC]
<SI>06[string]<SO>[LRC]
Message length: Fixed 5 bytes for requesting message, variable for response message (max 21 bytes.)
Usage: This message is used to get serial number of the PIN Pad. PIN Pad will send the serial
number previously loaded or string of 16 ‘0’s as the serial number if it has not been
loaded. Serial number will be displayed on LCD, too.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
06 2 Message ID
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
06 2 Message ID
[string] 0..16 String for serial number
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 06 (request)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 06 (response frame) or
<EOT> if read error
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page24
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 07 Test DES Implementation
Format: <SI>07[master key][clear text][cipher text]<SO>[LRC]
Message length: Fixed 53 bytes.
Usage: This message is used to validate DES implementation of PIN Pad. Testing result will
be shown on the PIN Pad display and return response code for remote diagnostic.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
07 2 Message ID
[Master key] 16 Master Key used of encoding
(hexadecimal string)
[Clear text] 16 Clear text for encoding
(hexadecimal string)
[Cipher text] 16 Known ciphered text
(hexadecimal string)
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
07 2 Message ID
[response code] 1 0: Test Success
F: Test Failed.
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 07 (request)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 07 (response)
<ACK>/<NAK>/
<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page25
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 08 Select Master Key
Format: <SI>08[KeyID]<SO>[LRC]
Message length: Fixed 6 bytes.
Usage: This message is used to select one of the 10 possible PIN encrypting master keys
previously loaded using message 02. The selected master key will be used in the
following transactions.
Note: Check master key existence before change:
This message does not respond for checking master key existence. You may choose
an empty master key without notice.
TDES capability: If selected master key is a double length key (32 characters when
loaded with message 02), PP190 will treat all session keys (in MK/SK message 70,
Z60, Z62) as EDE encrypted by this master key. (See Appendix A)
Confirm key existence before issue 08: message 08 is not responsible for check if
[KeyID] has a valid master key, use message 04 before 08.
Message element:
Field Length Value and description
<SI> 1 <0F>
08 2 Message ID
[KeyID] 1 0~9, one of Master key id.
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 08
<ACK>/<NAK>/<EOT>
[Success]
<SI>080<SO>
[Fail]
<SI>08[errCode]<SO>
<EOT>
Error Message:
Error Code Meaning
‘1’ Key index > 9
PIN Pad 190 Programmer’s Manual
2014-02-06
Page26
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 09 Communication Test
Format: <SI>09<SO>[LRC]
<SI>09<SUB>PROCESSING<SO>[LRC]
Message length: Fixed 5 bytes for requesting message, fixed 16 bytes for response message.
Usage: This message is used to test communication link between HOST and the PIN Pad.
Both HOST and PIN Pad can initiate communication test. The initiating party should
send the requesting message; the other party should response with the response
message that should be ACKed if received correctly. After verifying that the response
message is correctly, the initiating party should send back the same response
message and the receiving party should acknowledge this message. Testing results
are shown on the PIN Pad display.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
09 2 Message ID
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
09 2 Message ID
<SUB> 1 <1A>
[Test string] 10 ASCII string PROCESSING
<SO> 1 <0E>
[LRC] 1 Checksum
Result frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
09 2 Message ID
[response code] 1 0: Test Success
F: Test Failed.
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page27
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 09 (request)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 09 (response frame)
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 09 (response)
<ACK> (Good LRC)
<NAK> (Bad LRC)
Message 09 (result frame)
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page28
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 11 PIN Pad Device Connection Test
Format: <SI>11<SO>[LRC]
Message length: Fixed 5 bytes.
Usage: This message is used to ensure that the PIN Pad is attached to the HOST working
normally. PIN Pad will response an ACK (or NAK if LRC incorrect) within one second.
Message element:
Field Length Value and description
<SI> 1 <0F>
11 2 Message ID
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 11
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page29
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 13 Adjust COM1 Baud Rate (RS-232 version only)
Format: <SI>13[baud code][mode]<SO>[LRC]
Message length: Variable, 6 bytes.
Usage: This message will change the working baud rate and transmit mode of PP190 for later
operations. The setting is kept in the battery-powered memory, which will not be
erased until security is breached or the battery exhausted. Baud rate will be changed
after message flow ends.
Note: If [mode] parameter is not specified, the default transmit mode is N, 8, 1.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
13 2 Message ID
[baud code] 1 ASCII character
‘1’ = 1200bps
‘2’ = 2400bps
‘3’ = 4800bps
‘4’ = 9600bps
‘5’ = 19200bps
‘6’ = 38400bps
‘7’ = 57600bps
‘8’ = 115200bps
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
13 2 Message ID
[status] 1 ASCII character
‘0’ for success
‘1’ for parameter error
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 13 (request)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page30
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 13 (response)
<ACK>/<NAK>/<EOT>
<EOT>
(Change working baud
rate and save setting)
Message flow:
HOST Direction PIN Pad
Message 14
(Request frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 14
(Response frame)
<ACK>/<NAK>/<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page31
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 16 Remote self-test request
Format: <SI>16<SO>[LRC]
Message length: Fixed 5 bytes.
Usage: This message is used to ensure that the PP190 attached to the HOST is working
normally. PP190 will response an ACK (or NAK if LRC incorrect) within one second. If
multiple tests failed, response code will concatenate such as “<SI>1625<SO>”.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
16 2 Message ID
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
16 2 Message ID
[Response] 1 .. 3 0 Healthy
2 – System Core checksum fail
5 Master keys CRC error
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 16
(Request frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 16
(Response frame)
<ACK>/<NAK>
/<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page32
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 17 Request random number
Format: <SI>17<SO>[LRC]
Message length: Fixed 5 bytes.
Usage: This message is used to request PIN Pad to generate an 8bytes random number block.
This random number is generated by hardware TRNG that is certified with sufficient
security.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
17 2 Message ID
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
17 2 Message ID
[RndBlk] 16
Random number block generated
by PP190.
Format: hexadecimal string.
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 17
(Request frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 17
(Response frame)
<ACK>/<NAK>
/<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page33
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 18 Get/Set PIN pad system time
Format: <SI>18<SO>[LRC] (Request frame to get system time)
<SI>18[YYYY][MM][DD][HH][MM][SS]<SO>[LRC] (Request frame to set
system time)
Message length: Fixed 5 bytes or 19 bytes.
Usage: This message is used to set real world time in PP190 and for EMV level 2 transaction
log.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
18 2 Message ID
[YYYY] 4 (optional, only set time need)
AD year, i.e. 2006
[MM] 2 (optional, only set time need)
Month, 01”~”12
[DD] 2 (optional, only set time need)
Day of month, 01”~”31
[HH] 2 (optional, only set time need)
Hour, 00”~”23
[MM] 2 (optional, only set time need)
Minute, “00”~”59
[SS] 2 (optional, only set time need)
Second, 00”~”59
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page34
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
18 2 Message ID
[status] 1 0: Success
F: Failed.
[YYYY] 4 (optional, only get time will response)
AD year, i.e. 2006
[MM] 2 (optional, only get time will response)
Month, 01”~”12
[DD] 2 (optional, only get time will response)
Day of month, 01”~”31
[HH] 2 (optional, only get time will response)
Hour, 00”~”23
[MM] 2 (optional, only get time will response)
Minute, “00”~”59
[SS] 2 (optional, only get time will response)
Second, 00”~”59
<SO> 1 <0E>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 18 request frame
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 18 Response Frame
<ACK> /<NAK> /<EOT>
Processing and send <EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page35
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 19 Query Firmware Version
Format: <SI>19[part]<SO>[LRC] (request frame)
<SI>19.[Version].[SubVer].[Chksum] <SO>[LRC] (response frame)
Message length: Fixed 6 bytes (request frame) / 82 bytes (response frame).
Usage: This message is used to query PP190 firmware version number and firmware check
sum value.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
19 2 Message ID
[part] 1 Firmware Part number
1: System Core
2: Prompt Message
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
19 2 Message ID
. 1 <2E>, field separator
[Version] 8. Firmware version (ASCII string)
. 1 <2E>, field separator
[SubVer]
2 Firmware sub version (‘0’~’9’)
. 1 <2E>, field separator
[chksum] 64 Firmware checksum (‘0’~’9, ‘A’
~’F’’)
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page36
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 19
(Request frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 19
(Response frame)
<ACK>/<NAK>/<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page37
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 1J Turn ON/OFF LCD Backlight
Format: <SI>1J[option]<SO>[LRC]
Message length: Fixed 6 bytes.
Usage: This message can control the global backlight ON or OFF for the LCD of PP190 with
backlight option. By default, PP190 will turn on its LCD backlight when it receives PIN
entry or clear text entry message such as 70 or Z52, and turn it off when those
functions exits. With message 1J1”, the PP190 will keep LCD backlight turned ON
until 1J0is issued.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
1J 2 Message ID
[option] 1 ASCII character
‘0’: Turn off LCD backlight
‘1’: Turn on LCD backlight
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
1J 2 Message ID
[status] 1 ASCII character
‘0’: Turn off LCD backlight
‘1’: Turn on LCD backlight
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page38
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 1J
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 1J
(Response frame)
<ACK>/
<NAK>/
<EOT>
<EOT>
LCD backlight turned ON/OFF
PIN Pad 190 Programmer’s Manual
2014-02-06
Page39
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 1M Setup Keypad Beeper
Format: <SI>1M[option]<SO>[LRC]
Message length: Fixed 6 bytes.
Usage: This message is used to turn on or turn off beeper when the keypad is pressing.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<SI> 1 <0F>
1M 2 Message ID
[option] 1 ASCII character
‘0’: Disable keypad beeper.
‘1’: Enable keypad beeper.
<SO> 1 <0E>
[LRC] 1 Checksum
Response frame (PIN Pad to HOST)
Field Length Value and description
<SI> 1 <0F>
1M 2 Message ID
[status] 1 ASCII character
‘0’: Keypad beeper disabled.
‘1’: Keypad beeper enabled.
<SO> 1 <0E>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page40
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 1M
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 1M
(Response frame)
<ACK>/
<NAK>/
<EOT>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page41
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 6 Online transaction messages with Master/Session
Keys (MK/SK)
Message 70 PIN entry request (MK/SK)
Format: <STX>70.[Account]<FS>[session key][Amount]
<FS>[timeout]<ETX>[LRC]
Message length: Variable 36 to 51 bytes (max. 67 bytes for TDES session key).
Usage: Display prompt and accept customer PIN input. The following prompt will be displayed:
"Total Amount"
"$xxx.xx"
"Enter PIN"
"Push "ENTER""
The PIN Pad will then wait till the PIN entered and [ENTER] key is pressed. After
ENTER key is pressed, the string PIN PADand PROCESSINGwill be displayed
until the CLEAR key is pressed. During this period, the PIN Pad will not process any
message other than the CANCEL message (message 72).
NOTE: Aborting transaction: Press CLEAR button to reset the PIN input and CAN (cancel)
button to abort the transaction.
PIN length: According to ANSI X9.8 standard, the length of PIN should between 4 to
12 digits. If user inputs less than 4 digits and press ENTER, PP190 will beep for error
and continue to wait for users input. When user inputs 13th character, PIN pad will
beep for error, conserves PIN character 1st to 12th, and wait for ENTER.
This message has DES Time Throttle: See Appendix A for details.
Master key must be selected before transaction: PP190 will warn and refuse
message 70 if message 08 was not issued before.
Triple DES capability: Following table shows the logic of PP190 when processing
single-length and double-length MK/SK. (TDES in EDE order, see Appendix A).
Session Key: If the selected key is with usage P0, the session key should be all
zeros.
Session key
Master key
Double length Single length
Double length
PP190 TDES decrypts L-
key and
R-
key of [session key] value, using
active master key.
PIN blocks are TDES encrypted
by
decrypted session key.
PP190
TDES decrypts [session key]
value, using active master key.
PIN blocks are DES encrypted
by
decrypted session key.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page42
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Single length
PP190 DES decrypts L-
key and
R-key of [session key] value
, using
active master key.
PIN blocks are TDES encrypted
by
session key.
PP190
DES decrypts [session key]
value, using active master key.
PIN blocks are DES encrypted
by
session key.
Message element:
Field Length Value and description
<STX> 1 <02>
70 2 Message ID
. 1 <2E>, delimiter
[Account] 8..19 Card account number
<FS> 1 <1C>, field separator
[session key] 16 or
32
Working key encrypted using selected master
key. 32-
characters session key produces TDES
encrypted PIN block with EDE order.
Format: hexadecimal string.
This filed should be all zeros if the selected key
is with usage P0
[Amount] 4..8 Amount of goods to be displayed on PIN Pad.
<FS> 1 (optional) <1C>, field separator
[timeout] 1 (optional) ASCII character from ‘1’ to ‘9’ which
is the timeout value in the unit of 30 seconds.
Default = 9x30 = 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page43
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 70
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Prompt user to enter PIN.
Message 71 or <EOT> when input
timed out or user pressed [CAN]
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display “PIN PAD PROCESSING
PIN Pad 190 Programmer’s Manual
2014-02-06
Page44
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 71 Encrypted PIN Block Response
Format: <STX>71.<fkey flag><PIN length>01[PIN][LRC] (PIN block frame)
<STX>71[error code]<ETX>[LRC] (Error code frame)
Message length: Fixed 27 bytes for PIN block frame, 6 bytes for error code frame.
Usage: Send the entered PIN to HOST in encrypted format.
Message element:
Field Length Value and description
<STX> 1 <02>
71 2 Message ID
. 1 <2E> delimiter
[Fkey flag] 1 Always ‘0’ (This field is kept to retain old
model compatibility.)
[PIN length] 2 00, 04..12 length of PIN entered
01 2 01 format of PIN block, always 01
[PIN] 16 Encrypted PIN blocks
Format: hexadecimal string.
<ETX> 1 <03>
[LRC] 1 Checksum
Message 71 (Error message)
Field Length Value and description
<STX> 1 <02>
71 2 Message ID
[Error code] 1 Code to indicate error (see next page)
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page45
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message 70/Z60/Z62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 71
or <EOT> when
input tined out or user pressed
[CAN]
<ACK> (Good echo)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display processing prompt
Error codes:
Code Meaning
'0' Null Account input field.
'1' Key value error.
(Active master key not exist, or
session key value conflicted with the usage of active master key, or
session key length longer than active master key)
'2' Account number shorter than 8 digits.
'3' Account number longer than 19 digits.
'4' Account number have character other than '0'-'9'.
'5' Working key format error.
'6' Timeout value error
'7' No more DES operation within 60 min. (see Appendix A)
'8' From 70, Amount string format error.
From Z62, PIN count, Accept Null PIN flag, and Prompt string
format error.
'A' Currently selected master key over range (Master key slot A to F
will cause this error message because they are supposed to do
authentication and MAC, not for PIN entry)
'B' Flash memory read/write error
'C' Memory buffer allocation error
'E' Data length error in a field.
'G' Specified file not found or authentication error.
'H' Receive command 72.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page46
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
'I' Cancel key is press.
'J' PIN entry timeout.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page47
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 72 PIN Entry Cancel
Format: <STX>72<ETX>[LRC]
Message length: Fixed 5 bytes.
Usage: Cancel current transaction and return the PIN Pad to IDLE state, used to interrupt
command in process. If PP190 receives message 72 while processing user input such
as swipe card or enter PIN, It will send <EOT> to acknowledge that operation is
canceled.
Message element:
Field Length Value and description
<STX> 1 <02>
72 2 Message ID
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 72
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
<EOT>
Optional. If PIN pad is
waiting for user
s PIN
input.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page48
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z0 Move Display Cursor
Format: <STX>Z0[XX][YY]<ETX>[LRC]
Message length: Fixed 9 bytes.
Usage: Move the display cursor. Z0 message is enabled when PIN pad receives first Z2
message. Under Z2-authenticated mode, Z0 message is also disabled.
Message element:
Field Length Value and description
<STX> 1 <02>
Z0 2 Message ID
[XX] 2 X-coordinate, 01 ~ Max. Characters per line
[YY] 2 Y-coordinate, 01 ~ Max. line
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z2
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string.
Message Z0
<ACK> / <NAK> /
<EOT>
PIN pad moves cursor
Message Z2
(without clear
screen)
<ACK> / <NAK> /
<EOT>
Display 2nd
string from
the coordinate specified
by Z0.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page49
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z1 Reset State
Format: <STX>Z1<ETX>[LRC]
Message length: Fixed 5 bytes.
Usage: Force the PIN Pad to enter IDLE state.
Message element:
Field Length Value and description
<STX> 1 <02>
Z1 2 Message ID
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z1
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page50
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z2 Display String
Format: <STX>Z2<SUB>[string]<ETX>[LRC] (Request frame, normal)
<STX>Z2<GS>[PromptID]<SUB><ETX>[LRC]
(Request frame, authenticated)
<STX>Z2<RS>[PromptID]<SUB><ETX>[LRC]
(Request frame, authenticated for PIN entry)
<STX>Z2[status]<ETX>[LRC]
(Response frame, authenticated)
Message length: Variable, at least 6 bytes.
Usage: PIN Pad to show the indicated prompt string on its display, until [CAN] key is pressed.
If the first character of message is <GS> (0x1D) or <RS> (0x1E), PIN pad will treat
following message string as ID number, and search its predefined message table for
corresponding message string, then display the string on the screen.
Note: 1. Two Z2 message with authenticated prompt ID can be issued in serial to form a
longer sentence, or used in combination with normal string which contains only digits.
2. Z2 message with PIN entry prompt will force user issue every message with <SUB>,
which implies the PIN entry message cant be concatenated.
3. PIN pad will temporarily turn off timer display for the first Z2 message it received.
After Z42, Z50, Z60 are performed, [CAN] key is pressed, or any other message
received and processed, PIN pad will turn on the timer display.
Message element:
Z2 request frame (normal mode)
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
<SUB> 1 <1A> (optional)
When <SUB> exists, PIN pad will clear
screen contents and hide pop window
before display string.
[string] 0 .. 32 ASCII string to be displayed
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page51
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Z2 request frame (authenticated mode with fixed prompt)
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
<GS> 1 <1D>, mark of authenticated frame with
fixed prompt.
Prompt ID 3
Prompt ID that corresponds to fixed
prompt provided by PIN pad.
Decimal string: 001 ~ 999.
<SUB> 1 <1A> (optional)
When <SUB> exists, PIN pad will clear
screen contents and hide pop window
before display string
<ETX> 1 <03>
[LRC] 1 Checksum
Z2 request frame (PIN entry mode with fixed prompt)
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
<RS> 1 <1E>, mark of PIN entry frame with fixed
prompt.
Prompt ID 3
Prompt ID that corresponds to fixed PIN
entry prompt provided by PIN pad.
Decimal string: 001 ~ 999.
<SUB> 1 <1A>
PIN pad will cle
ar clear screen contents
and hide pop window before display string
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page52
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Z2 response frame (authenticated mode)
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
[status] 1 ‘0’: OK
‘1’: Prompt ID not supported.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
Normal frame
HOST Direction PIN Pad
Message Z2
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string
Authenticated frame
HOST Direction PIN Pad
Message Z2
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z2
(response frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string
<EOT> (if received <ACK>)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page53
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z3 Display Line Prompts
Format: <STX>Z3[count]<SUB>[prompt1]<FS>[prompt2..7]<ETX>[LRC]
(Request frame, normal)
<STX>Z3<GS>[PromptID1]<FS>[PromptID2..7]<SUB><ETX>[LRC]
(Request frame, authenticated)
<STX>Z3<RS>[PromptID1]<FS>[PromptID2..7]<ETX>[LRC]
(Request frame, authenticated for PIN entry)
<STX>Z3[status] <ETX>[LRC]
(Response frame, authenticated)
Message length: Variable 8 to 124 bytes.
Usage: The PIN Pad will display the received prompt strings (up to 7 lines of prompt). If the
length of prompt exceeds the maximum characters per line, this prompt will be
truncated.
Message element:
Z3 request frame (normal mode)
Field Length Value and description
<STX> 1 <02>
Z3 2 Message ID
[Count] 1 Number of prompts to be displayed
<SUB> 1 <1A> (optional)
When <SUB> exists, PIN pad will
clear clear screen contents and hide
pop window before display string
[Prompt1] var First string to be displayed
, max
length is one line (20 or 40 characters
depend on font size).
<FS> 1 <1C>, field separator
[Prompt2..7] var Remaining strings to be displayed.
Note. <FS> is required between
messages
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page54
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Z3 request frame (authenticated mode or PIN entry mode)
Field Length Value and description
<STX> 1 <02>
Z3 2 Message ID
<GS> or <RS> 1 <1D> for authenticated mode
<1E> for PIN entry mode
(In these mode, PIN Pad will clear
screen contents and hide pop window
before showing prompts.)
[Prompt ID1] 3 Prompt ID that corresponds to fixed
prompt provided by PIN pad.
Decimal string: 001 ~ 999.
<FS> 1 <1C>, field separator
[Prompt ID2..7] 3 Prompt ID that corre
sponds to fixed
prompt provided by PIN pad.
Decimal string: 001 ~ 999.
Note. <FS> is required between
prompt ID.
<ETX> 1 <03>
[LRC] 1 Checksum
Z3 response frame (authenticated mode)
Field Length Value and description
<STX> 1 <02>
Z3 2 Message ID
[status] 1 ‘0’: OK
‘1’: Prompt ID not supported.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page55
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
Normal frame
HOST Direction PIN Pad
Message Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display prompts as required
Authenticated frame
HOST Direction PIN Pad
Message Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z3
(response frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string
<EOT> (if received <ACK>)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page56
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Z2 / Z3 Authenticated mode with fixed prompt
To enable message Z42 and Z50, user has to issue Z2 / Z3 message with a prompt ID supported by PIN
pad (See Appendix C). These prompts are verified during Payment Card Industry (PCI) Security
Conformance tests to make sure users will not expose sensitive information (such as PIN) accidentally.
For security reason, to issue authenticated frame of Z2 / Z3 at the first time, the <SUB> flag is mandatory.
After Z2 authenticated mode entered, PIN pad will accept two kind of Z2 packet:
1. Z2 packet in normal mode, without <SUB> flag, and contains only digits (0~9)
2. Z2 packet in authenticated mode, without <SUB> flag.
For example, issue Z2<GS>005<SUB> and Z2<GS>016 will show PLEASE ENTER DRIVER LICENSE
on the screen.
Z2 / Z3 PIN entry mode with fixed prompt
To enable Z60, user has to issue Z2 / Z3 message with a prompt ID supported by PIN pad, dedicated for
PIN entry (See Appendix D). These prompts are verified during Payment Card Industry (PCI) Security
Conformance tests to make sure users will not misunderstand PIN entry request as other non-sensitive
data. Also message Z62s prompt1 and prompt2 will be checked to see if they are listed in this prompt
table. If not, PIN pad will reject Z62.
Any other messages other than Z2, Z3, Z42, Z50, and Z60 or any unsuccessful Z2 / Z3 messages (wrong
prompt ID, format error, Z2 message includes non decimal characters) will make PIN pad to leave Z2 / Z3
authenticated mode to avoid attack.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page57
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z2 Display String with Authentication Code
Format: <STX>Z2<FS>[KeyID][MAC][Mode][string]<SUB><ETX>[LRC]
(Request frame)
<STX>Z2[status]<ETX>[LRC] (Response frame)
Message length: Variable.
Usage: This command allows acquirer to show free message on screen as prompt for clear
text entry (Z42, Z50) and PIN entry (Z60). PP190 will verify MAC value by the following
rule:
* Collect [Mode] character, [string] (exclude white space, punctuation marks and
digits), and <SUB> character (if exist), as byte array, padding with ASCII ‘0’ (0x30) to
the multiple of 8.
* Use the key specified by [KeyID] and ISO-9797-1 Algorithm 3 to generate message
authentication code for above data.
* Compare the leftmost 4 bytes of MAC value and the one written in the Z2 command.
If MAC value matches, PP190 will display the [string] written in Z2 command.
Note: 1. If Z2 (string with MAC) is used in combination with Z2 (fixed prompt), their mode
character (GS / RS) must be the same; Otherwise PIN pad will reject secondary Z2.
2. PIN pad will temporarily turn off timer display for the first Z2 message it received.
After Z42, Z50, Z60 are performed, [CAN] key is pressed, or any other message
received and processed, PIN pad will turn on the timer display.
3. If continuous Z2 (string with MAC) without <SUB> cause the string out of LCD
displays range, some character will be cut.
Message element :
Z2 with MAC, request frame
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
<FS> 1 <1C>, field separator.
[KeyID] 1 ‘B’ ~ ‘E’, key to verify MAC value. The
specified key must have usage M3 and
mode ‘V’.
[MAC] 8
Message authentication code of following
message (including <SUB> if exist).
[Mode] 1 <GS> (0x1D) for Non-PIN entry.
<RS> (0x1E) for PIN entry.
[string] 0 .. 32 ASCII string to be displayed
<SUB> 1 <1A> (optional)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page58
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
When <SUB> exists, PIN pad will clear
screen contents and hide pop window
before display string, and also reset entry
mode.
<ETX> 1 <03>
[LRC] 1 Checksum
Z2 with MAC, response frame
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
[status] 1 ‘0’: OK
‘1’: MAC key ID error (out of B’~’E’).
‘2’: MAC key attribute error.
‘3’: MAC value error.
‘4’: Packet format error.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z2
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z2
(response frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string
<EOT> (if received <ACK>)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page59
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z3 Display Line Prompts with Authentication Code
Format: <STX>Z3<FS>[KeyID][MAC][count][Mode][prompt1]<FS>
[prompt2..7]<SUB><ETX>[LRC] (Request frame)
<STX>Z3[status]<ETX>[LRC] (Response frame)
Message length: Variable.
Usage: This command allows acquirer to show free message on screen as prompt for clear
text entry (Z42, Z50) and PIN entry (Z60). PP190 will verify MAC value by the following
rule:
* Collect [Mode] character, [prompt_n] (exclude white space, punctuation marks and
digits), and <SUB> character (if exist), as byte array, padding with ASCII ‘0’ (0x30) to
the multiple of 8.
* Use the key specified by [KeyID] and ISO-9797-1 Algorithm 3 to generate message
authentication code for above data.
* Compare the leftmost 4 bytes of MAC value and the one written in the Z2 command.
If MAC value matches, PP190 will display the [string] written in Z2 command.
Note: 1. If Z3 (string with MAC) is used in combination with Z3 (fixed prompt), their mode
character (GS / RS) must be the same; Otherwise PIN pad will reject secondary Z3.
2. PIN pad will temporarily turn off timer display for the first Z2 message it received.
After Z42, Z50, Z60 are performed, [CAN] key is pressed, or any other message
received and processed, PIN pad will turn on the timer display.
Message element:
Z2 with MAC, request frame
Field Length Value and description
<STX> 1 <02>
Z3 2 Message ID
<FS> 1 <1C>, field separator.
[KeyID] 1 ‘B’ ~ ‘E’, key to verify MAC value. The
specified key must have usage M3 and
mode ‘V’.
[MAC] 8 Message authentication code of following
message (including <SUB> if exist).
[count] 1 ‘1’ ~ ‘7’, number of following prompts.
[Mode] 1 <GS> (0x1D) for Non-PIN entry.
<RS> (0x1E) for PIN entry.
[prompt1] Var. First string to be displayed, max length is
one
line (20 or 40 characters depend on
PIN Pad 190 Programmer’s Manual
2014-02-06
Page60
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
font size).
<FS> 1 <1C>, field separator
[prompt N] Var.
Second to end string to be displayed. Each
prompt is separated by <FS>.
<SUB> 1 <1A> (optional)
When <SUB> exists, PIN pad will clear
clear screen contents and hide pop window
before display string
<ETX> 1 <03>
[LRC] 1 Checksum
Z3 with MAC, response frame
Field Length Value and description
<STX> 1 <02>
Z2 2 Message ID
[status] 1 ‘0’: OK
‘1’: MAC key ID error (out of B’~’E’).
‘2’: MAC key attribute error.
‘3’: MAC value error.
‘4’: Packet format error.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z3
(response frame)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display string
<EOT> (if received <ACK>)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page61
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Example to use Z2 / Z3 with Authencation Code.
[Example 1]
1. Use message 02 (ANSI TR31 frame) to load following key to position B’:
BCDE90123456789ABCDE90123456789A, Usage = M3, Mode = V.
2. Assume we want to clear screen and display following string for PIN entry: AMOUNT 123456.78
ENTER YOUR PIN”.
3. The data for MAC generation (‘Ato ‘Z’, ‘ato ‘z’ and ISO8859-15 high page character from 0xBC
to 0xFF, padded with ASCII 0):
<RS>AMOUNTENTERYOURPIN<SUB>0000
1E414D4F554E54454E544552594F555250494E1A30303030
The white spaces and digits are not counted into MAC, this feature enables acquirer to issue PIN
entry prompts with different amount, but keep the same MAC value.
4. Use the key specified in the step 1 to calculate ISO9797-1 algorithm 3 MAC.
The result is: C51401D727D761E2.
Take leftmost 4 bytes as MAC value: C51401D7.
5. Send <02>Z2<1C>BC51401D7<1E>AMOUNT 123456.78 ENTER YOUR PIN<1A><03> to PIN
Pad, Then message Z60 can be issued to request PIN entry.
6. Send <02>Z2<1C>BC51401D7 <1A>AMOUNT 123.45 ENTER YOUR PIN<03> to PIN Pad to see
the same MAC applies to different amounts.
[Example 2]
1. Use message 02 (ANSI TR31 frame) to load following key to position B’:
6AC292FAA1315B4D8234B3A3D7D5933A, Usage = M3, Mode = V.
2. Assume we want to clear screen and display for non-PIN entry: MESSAGE ONE 1.0 and
MESSAGE TWO 2.0”.
3. The data for MAC generation (padded with ASCII 0):
<GS>MESSAGEONE<FS>MESSAGETWO<SUB>0
1D4D4553534147454F4E451C4D45535341474554574F1A30
4. Use the key specified in the step 1 to calculate ISO9797-1 algorithm 3 MAC.
Take leftmost 4 bytes as MAC value: 22C0BAD9.
5. Send <02>Z3<1C>B22C0BAD92<1D>MESSAGE ONE 1.0<1C>MESSAGE TWO 2.0<1A><03>
to PIN pad.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page62
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z42 Read Key Code
Format: <STX>Z42[timeout]<ETX>[LRC]
Message length: Variable 6 to 9 bytes.
Usage: Once PP190 receives this command, it begins polling functional key array until timeout.
If PP190 received Z2 / Z3 authenticated frame before Z42, it will return any key
pressed by user by ASCII key codes via message Z43. Else it will return only function
key codes (F1, F2, F3, F4, CAN, CLR, ENTER), and reject numerical key (0 to 9).
Multiple key press or combined key press will be discarded.
Abort input: Issue message 72 to abort the operation.
Note: Z2/Z3 required: Because Z42 will not show any message to prompt user operation, Z2
or Z3 should be issued before this command, or PIN pad will send <EOT> and stop.
Message element:
Field Length Value and description
<STX> 1 <02>
Z42 3 Message ID
[timeout] 1 to 3
ASCII character from 1 to 255, for
example 10means 10 seconds timeout.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PP190
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show prompt message
Message Z42
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z43
<ACK>/<NAK>/<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page63
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z43 Read Key Code Response
Format: <STX>Z43[Keycode]<ETX>[LRC]
Message length: Fixed 7 bytes.
Usage: This is the response frame of Z42.
Message element:
Field Length Value and description
<STX> 1 <02>
Z43 3 Message ID
[keycode] 1 ‘0’ to ‘9
ASCII ‘A’ to ‘C’ denotes 3 function
keys.
‘A’ = [F1]
‘B’ = [F2]
‘C’ = [F3]
‘D’ = [F4]
‘*’ = [CAN]
‘#’ = [ENTER]
‘/’ = [CLR]
‘?’ means time out.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
(Please refer to message Z42)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page64
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z50 String Entry Request
Format: <STX>Z50[echo flag][timeout][max entry]<ETX>[LRC]
Message length: Variable 10 to 12 bytes.
Usage: Request user to input string on keypad.
Then PP190 will wait for keypad input and store ASCII data into internal buffer. To
input English character on the keypad, press [F2] key to rotate the last character. For
example, press [1], [F2], [F2] will input a ‘Z’ character into PP190. The maximum
length of internal buffer is 32 characters.
User can use [CLR] to clear input buffer and input again, or [CAN] to cancel input.
Press 0’ and press [F2] will transform ‘0’ into period or white space.
Abort input: Issue message 72 to abort the operation.
Note: A Z2 or Z3 message with authenticated frame must be issued before Z50. Otherwise
PIN pad will refuse to execute.
Message element:
Field Length Value and description
<STX> 1 <02>
Z50 3 Message ID
[echo flag] 1 ‘0’: echo input as ‘*’
‘1’: echo input as is
‘2’: do not echo
[timeout] 3 ASCII character from 1 to 255 to set the
timeout for each keypress, for example
010
means 10 seconds timeout after
the last keypress.
[max entry] 1 or 2 (optional) Maximum entry count.
Range from 00 to 32 (or 0 to 32)
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page65
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PP190
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show prompt message
Message Z50
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z51
(or <EOT> when input
cancelled)
<ACK>/<NAK>/<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page66
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z51 String Entry Response
Format: <STX>Z51[string]<ETX>[LRC]
Message length: Variable, maximum 55 bytes.
Usage: This is the response frame of Z50 and ZG.
Message element:
Field Length Value and description
<STX> 1 <02>
Z51 3 Message ID
[string] 1..32 User inputted string.
‘?’ means time out.
‘!’
means file not found or authentication
error. (For Message ZG error response)
‘%’ means prompt ID not supported. (For
Message ZG error response)
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
(Please refer to message Z50)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page67
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z60 PIN entry request with external prompt (MK/SK)
Format: <STX>Z60.[account]<FS>[session key]<FS>[timeout]<ETX>[LRC]
Message length: Variable 32 to 43 bytes (max. 59 bytes for TDES session key).
Usage: Request the PIN Pad to accept customer PIN entry and encrypt it using the account
number and working key sent along in this message. The encrypted PIN block should
be retrieved via message 71.
Note: Z2/Z3 (PIN entry mode) required: Message Z2 or Z3 (PIN entry mode) should be
issued before this command, or PIN pad will send <EOT> and stop.
Aborting Transaction: Please refer to message 70.
PIN length: Please refer to message 70.
Master key must be selected before transaction: Please refer to message 70.
Triple DES capability: Please refer to message 70.
Session Key: If the selected key is with usage P0, the session key should be all
zeros.
Message element:
Field Length Value and description
<STX> 1 <02>
Z60 3 Message ID
. 1 <2E>, delimiter
[Account] 8 .. 19 Account number
<FS> 1 <1C>, Field separator
[Session key] 16 or
32
Session key encrypted with selected master
key. 32-
characters session key produces
TDES encrypted PI
N block with EDE
order.
Format: hexadecimal string.
This filed should be all zeros if the selected
key is with usage P0
<FS> 1 (Optional) <1C>, Field separator
[timeout] 1 (Optional) ASCII character from 1’ to ‘9’
which is the timeout value in the unit of 30
seconds. Default = 9x30 = 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page68
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show prompt message
Message Z60
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 71
(after customer PIN entered), or
<EOT> when input timed out or
user pressed [CAN]
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page69
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z62 PIN entry request with customized prompt (MK/SK)
Format: <STX>Z62.[account]<FS>[session key][minPIN][maxPIN]
[null flag][prompt1]<FS>[prompt2]<FS>[proc prompt]<FS>
[timeout]<ETX>[LRC]
Message length: Variable 39 to 100 bytes (max. 116 bytes for TDES session key).
Usage: Request the PIN Pad to display the prompt message in this data frame, accept
customer PIN entry and encrypt it using the account number and working key sent
along in this message. Display the [proc prompt] when the PIN has been entered. The
encrypted PIN block should be retrieved via message 71.
NOTE: Aborting Transaction: Please refer to message 70.
PIN length: Although Z62 allow programmer to specify the maximum and minimum PIN
length, but it is not allowed to set the value of [maxPIN] and [minPIN] to exceed ANSI
x9.8 specification except allow null PIN.
Master key must be selected before transaction: Please refer to message 70.
Triple DES capability: Please refer to message 70.
Session Key: If the selected key is with usage “P0”, the session key should be
all zeros.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page70
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message element:
Field Length Value and description
<STX> 1 <02>
Z62 3 Message ID
. 1 <2E>, delimiter
[account] 8 .. 19 Account number
<FS> 1 <1C>, field separator
[session key] 16 or
32
Session
key encrypted with selected master key.
32-characters session key
produces TDES encrypted
PIN block with EDE order.
Format: hexadecimal string.
This filed should be all zeros if the selected key is with
usage P0
[minPIN] 2 00, 04 .. 12 minimum PIN length.
('00' only available when [null flag] set to 'Y').
[maxPIN] 2 00, 04 .. 12 maximum PIN length.
('00' only available when [null flag] set to 'Y').
[null flag] 1 Y Null PIN allowed
N Null PIN not allowed
[prompt1] 1 .. 16 P
rompt displayed before any key is pressed, alternate
with prompt2
<FS> 1 <1C>, field separator
[prompt2] 1…16 P
rompt displayed before any key is pressed, alternate
with prompt1
<FS> 1 <1C>, field separator
[proc prompt] 1…16 Prompt displayed after PIN is entered
<FS> 1 (optional) <1C>, field separator
[timeout] 1 (optional) ASCII character from ‘1’ to ‘9’ which is the
timeout value in the unit of 30 seconds. Default = 9x30
= 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page71
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message Z62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Disp
lay [prompt1] and [prompt2] wait for
user enter PIN)
Message 71
(after customer PIN entered)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Display [proc prompt])
PIN Pad 190 Programmer’s Manual
2014-02-06
Page72
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z64 Query Key Check Value (KCV)
Format: <STX>Z64[KeyId]<ETX>[LRC]
Message length: Fixed 7 bytes.
Usage: This message will export the KCV of specified master key.
KCV is calculated as following:
1. Use [KeyID] specified key as encryption key.
2. Use "0000000000000000" (8 bytes zero) as data.
3. If the encrypt key is single length (8 bytes), use DES algorithm to encrypt the data,
else, use TDES algorithm to encrypt the data.
4. Take leftmost 3 bytes as KCV, output KCV as message Z65.
Example: TDES key "0123456789ABCDEF FEDCBA9876543210" will have KCV as "08D7B4".
Message element:
Field Length Value and description
<STX> 1 <02>
Z64 3 Message ID
[KeyID] 1 ‘0’ ~ ‘9’, ‘A’ ~ ‘G’,
The ID of master keys
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z64
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z65
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page73
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z65 Key Check Value Response
Format: <STX>Z65[KeyId][KCV]<ETX>[LRC]
Message length: Variable. 13 bytes for KCV, or 8 bytes for error code.
Usage: This message is the response of Z64.
If [KeyID] specified in Z64 is pointing to a valid master key, the KCV will be sent.
Otherwise a question mark '?' will be sent.
Message element:
Field Length Value and description
<STX> 1 <02>
Z65 3 Message ID
[KeyID] 1 ‘0’ ~ ‘9’, ‘A’ ~ ‘G’,
The ID of master keys
[KCV] 6 or 1 Success: 6 characters KCV.
Fail: '?'.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
Refer to message Z64.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page74
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z66 Message Authentication Code (MAC) Request
Format: <STX>Z66[PktType][SeqNo][KeyId] <FS> [SessionKey] <FS> [SecKeyId]
<FS> [Message] <ETX> [LRC]
Message length: Variable 14 to 270 bytes.
Usage: This message is used to generate MAC codes according to algorithm specified in ANSI
X9.19 (ISO 9797-1). User can send ASCII strings or hexadecimal strings to PP190 by
Z66 message to generate its MAC. User can also separate a long message into
multiple Z66 messages with increasing sequence number to generate a MAC.
NOTE: Message Length: Onetime message can be up to 224 characters (equal to 112bytes
when send as hexadecimal string because 2 characters represents 1 bytes). Multiple
messages can have sequence number from 00 to 99, thus the maximum capacity of
Z66 message is 22400 characters (or 11200 bytes in binary mode).
Multiple messages: When using multiple messages, [KeyId] and [SessionKey] and
[SecKeyId] must be the same. [Message] must be the multiple of 8 characters (or 16
characters in binary mode). Or PP190 will generate a wrong MAC.
MAC algorithm: PP190 generate TDES MAC according to ISO9797-1 algorithm 3.
(Padding with 0. Initial vector = 0. Refer to Appendix A point 10 for detail algoritgm.)
Session Key: The value of session key relates to the usage of specified master keys.
Usage of 1st
Key ID
Usage of 2nd
Key ID
Value of session key MAC Key
K0 N/A Non-zero Session key
M3
(mode G)
N/A Zero Master key specified by
[KeyId].
If specified key is mode ‘V’,
this is for MAC verification
and cannot used to generate
MAC for Z66 command.
M1
(mode G)
M1 Zero Master key specified by
[KeyId] as left key, and
master key specified by
[SecKeyId] as right key.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page75
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message element:
Field Length Value and description
<STX> 1 <02>
Z66 3 Message ID
[PktType] 1 '4' = ASCII last or only packet.
'5' = ASCII first or middle of multiple packets.
'6' = Binary last or only packet.
'7' = Binary first or middle of multiple packets.
[SeqNo] 2 '00' to '99', for onetime only packet, set to 00.
[KeyId] 1 (Optional) Master key to use, range = 'B' to 'E'. If this
filed is blank, the MAC master key will be the selected
key 0 ~ 9.
<FS> 1 <1C>, field separator
[SessionKey] 32 Session key will be decrypted by: Master key pointed
by [KeyId].
Format: hexadecimal string.
This filed should be all zeros if the selected key is with
usage M1or M3
<FS> 1 <1C>, field separator
[SecKeyId] 1 (Optional) Refer to note of Z66 usage. If first [KeyId]
points to key with K0 or M3
usage, this field
should be omitted.
<FS> 1 <1C>, field separator
[Message] 1-224 ASCII string or Hexadecimal string to be MACed.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: (Onetime only packets)
HOST Direction PIN Pad
Message Z66 (type 4,6)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z67 (with MAC)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page76
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow: (Multiple packets)
HOST Direction PIN Pad
Message Z66
(Seq'00' and type 5,7)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message Z67 (with status code '1')
<ACK> / <NAK> /
<EOT>
Message Z66
(Seq'01'--'98', type 5,7)
<ACK> / <NAK> / <EOT>
Message Z67 (with status code '1')
………………… …….. …………………………………..
Message Z66
(Sequence# larger than
last packet, type 4,6)
<ACK> / <NAK> / <EOT>
Message Z67 (with MAC)
<ACK> / <NAK> /
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page77
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z67 Message Authentication Code (MAC) Response
Format: <STX>Z67[status][MAC]<ETX>[LRC]
Message length: Fixed 7 (status only) or 23 (with MAC) bytes.
Usage: PP190 generated MAC calculation response. It contains status codes or MAC.
Message element:
Field Length Value and description
<STX> 1 <02>
Z67 3 Message ID
[status] 1 '0'=Success, MAC follows
'1'
=Ready for next Z66 packet, user in
multiple messages.
'2'=Sequence numbers out of order
'3'=Master key specified in [KeyId] not exist,
or range unacceptable (id 0 to A), or
usage not K0, M1”, M3.
'4'=Master key specified in [SecKeyId]
unreasonable or not exist.
The [SecKeyId] only exists if [KeyId]
points to a M1
master key, and the
[SecKeyId] itself should have M1
usage.
'5'=[Message] length have error (too long,
zero length, or not even number in binary
mode)
'6'=[PkyType] flag has invalid value
'7'=[Message] contents error (i.e. characters
larger than 'F' in binary mode)
'8'=[SessionKey] invaild
‘9’=MAC master key length should not be 8
‘A’=Session key is incompatible to the usage
of specified master key.
(If MK’s usage is M1 or M3
, SK
should contains all zero, if MKs usage is
K0, SK should not be zero.)
[MAC] 16 Calculated MAC.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page78
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
(Please refer to message Z66)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page79
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z7 Turn ON/OFF CANCEL Message Display
Format: <STX>Z7[option]<ETX>[LRC]
Message length: Fixed 6 bytes.
Usage: When a CANCEL message received or a CANCEL key pressed to cancel a current
transaction, the PIN Pad will display a CANCEL REQUESTEDmessage. This could
be turned ON or OFF using message Z7.
Message element:
Field Length Value and description
<STX> 1 <02>
Z7 2 Message ID
[option] 1 0 CANCEL REQUESTED displayed
1 CANCEL REQUESTED not displayed
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z7
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
CANCEL REQUEST prompt turned
ON/OFF
PIN Pad 190 Programmer’s Manual
2014-02-06
Page80
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z8 Set Idle Prompt
Format: <STX>Z8[prompt]<ETX>[LRC]
Message length: Variable 6 to 21 bytes.
Usage: The PIN Pad will display an idle prompt when it is in IDLE state. HOST can change
this idle prompt via message Z8. If the prompt field is filled with a null string, then the
PIN Pad will use the default prompt afterwards.
Message element:
Field Length Value and description
<STX> 1 <02>
Z8 2 Message ID
[Prompt] 1 .. 16 Idle prompt to be used
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message Z8
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Displays idle prompt
PIN Pad 190 Programmer’s Manual
2014-02-06
Page81
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 7 Online transaction messages with Derived Unique
Key per Transaction (DUKPT)
The following messages are designed for Derived Unique Key Per Transaction (DUKPT) key
management scheme described in ANSI X9.24-1992 and 2002 (Triple-DES DUKPT).
Note that some of the messages have the same IDs as those in MK/SK scheme, but with different
message format.
[TDES Capability]
If PP190 receives double length key in message 90/94 (Load Initial Key), the following DUKPT operation
will be done in TDES mode. PIN block will be TDES encrypted by derived key in EDE order.
[Secondary DUKPT Key Set]
PP190 provides 2nd key set of DUKPT operation for scalability. For example, customer can inject a DES
initial key into key set 0 and a TDES initial key into key set 1, using key set 0 to process traditional DES
transactions at first. When host systems ready to shift to TDES transaction, simply issue key set
selection command (96) to make PP190 switch to key set 1 without recall all PP190 to inject new initial
keys.
The following messages fall into this category:
60 Pre-Authorization PIN Entry Request
62 Pre-Authorization Amount Authorization Request
63 Pre-Authorization Amount Authorization Response
70 PIN entry request
78 PIN entry request via GUI
71 Encrypted PIN block response
72 PIN entry cancel
Z60 PIN entry request with external prompt (DUKPT)
Z62 PIN entry request with customized prompt
76 PIN Entry Test Request
90 Load First Initial Key Request
91 Load Initial Key Response
94 Load Second Initial Key Request
96 Select Active Key Set
PIN Pad 190 Programmer’s Manual
2014-02-06
Page82
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 60 Pre-authorization PIN Entry Request
Format: <STX>60[account] <ETX>[LRC]
Message length: Variable 13 to 24 bytes.
Usage: PIN pad will wait till the PIN entered and ENTER key is pressed. After PIN is entered,
message 71 with PIN block will be sent as response. The HOST must transmit
message 62 to ask for confirmation on transaction amount.
Note: Z2/Z3 (PIN entry mode) required: Message Z2 or Z3 (PIN entry mode) should be
issued before this command, or PIN pad will send <EOT> and stop.
Aborting Transaction: Please refer to message 70(DUKPT).
PIN length: Please refer to message 70(DUKPT).
Message element:
Field Length Value and description
<STX> 1 <02>
60 2 Message ID
[Account] 8..19 Primary account number
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page83
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show Prompt Messages
Message 60
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(User enter PIN and press ENTER)
Message 71
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display PIN PAD PROCESSING
until CLEAR pressed or another
message received.
Message 62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(User confirm the amount)
Message 63
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page84
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 62 Pre-authorization Amount Authorization Request
Format: <STX>62[DC Ind][amount]<ETX>[LRC]
Message length: Variable 10 to 14 bytes.
Usage: Display prompt and accept customer PIN input. The following prompt will be displayed:
“Total Amount $xxx.xx”
“Enter Confirm
”Cancel Decline”
xxx.x is the content of Amount field, with length between 4 to 8 positions. The PIN Pad
will then wait till either CAN or ENTER key is pressed. If ENTER key is pressed, the
PIN PAD will response with positive confirmation. If CAN is pressed, the PIN PAD will
response a negative confirmation. During this period, the PIN Pad will not process any
message other than the message 72(cancel transaction).
Message element:
Field Length Value and description
<STX> 1 <02>
62 2 Message ID
[DC Ind] 1 D/C: Debit/Credit Indicator
[amount] 4..8 Amount of goods to be displayed on PIN Pad.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
Please reference message 60.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page85
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 70 PIN Entry Request (DUKPT)
Format: <STX>70[account]<FS>[DC Ind][amount]<FS>[timeout]<ETX>[LRC]
Message length: Variable 21 to 36 bytes.
Usage: Display prompt and accept customer PIN input. The following prompt will be displayed:
"Total Amount"
"$xxx.xx"
"Enter PIN"
"Push "ENTER""
xxx.x is the content of Amount field, with length between 4 to 8 positions. The PIN Pad
will then wait till the PIN entered and [ENTER] key is pressed. After ENTER key is
pressed, the string PIN PADand PROCESSINGwill be displayed until the CLEAR
key is pressed. During this period, the PIN Pad will not process any message other
than the CANCEL message (message 72).
NOTE: Aborting transaction: Press CLEAR button to reset the PIN input and CAN (cancel)
button to abort the transaction.
PIN length: According to ANSI X9.8 standard, the length of PIN should between 4 to
12 digits. If user inputs less than 4 digits and press ENTER, PIN pad will beep for
error and continue to wait for users input. When user inputs 13th character, PIN pad
will beep for error, conserves PIN character 1st to 12th, and wait for ENTER.
Triple DES capability: If preloaded initial key is double length key, PP190 will produce
TDES encrypted PIN block (EDE order).
Message element:
Field Length Value and description
<STX> 1 <02>
70 2 Message ID
[Account] 8..19 Primary account number
<FS> 1 <1C>, field separator
[DC Ind] 1 D/C: Debit/Credit Indicator
[Amount] 4..8 Amount of goods to be displayed on PIN Pad.
<FS> 1 (optional) <1C>, field separator
[timeout] 1 (optional) ASCII character from ‘1’ to ‘9’ which
is the timeout v
alue in the unit of 30 seconds.
Default = 9x30 = 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
PIN Pad 190 Programmer’s Manual
2014-02-06
Page86
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
HOST Direction PIN Pad
Message 70
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 71 or
<EOT> when [CAN] pressed or input
timed out.
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Display PIN PAD PROCESSING
until CLEAR pressed or another
message received.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page87
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 71 Encrypted PIN Block Response
Format: <STX>71<fkey flag>[Key Serial#][PIN][LRC] (PIN block frame)
<STX>71[error code]<ETX>[LRC] (Error code frame)
Message length: Variable 32 to 42 bytes.
Usage: Send the entered PIN to HOST in encrypted format.
Message element:
Field Length Value and description
<STX> 1 <02>
71 2 Message ID
[fkey flag] 1 Always ‘0
(This field is kept to retain old
model compatibility.)
[Key Serial#] 10..20
Key Serial number used in encrypting PIN.
Included only when PIN is entered.
Format: hexadecimal string.
[PIN] 16 Encrypted PIN block
Format: hexadecimal string.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
Please refer to message70 (DUKPT).
Error codes:
Code Meaning
‘0’ Null Account input field.
‘2’ Account number shorter than 8 digits.
‘3’ Account number longer than 19 digits.
‘4’ Account number have character other than ‘0-‘9’.
‘5’ [D/C ind] field not exist or format error.
‘6’ Timeout value error.
'8' Amount string format error.
‘A’ No DUKPT key injected.
‘B’ Flash read/write error.
‘C’ Memory buffer allocation error.
‘F’ DUKPT operation limit (1 million) reached, program stop.
‘G’ Specified file not found or authentication error.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page88
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
'H' Receive command 72.
'I' Cancel key is press.
'J' PIN entry timeout.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page89
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 72 PIN Entry Cancel
Format: <STX>72<ETX>[LRC]
Message length: Fixed 5 bytes.
Usage: Cancel current transaction and return the PIN Pad to IDLE state, used to interrupt
command in process. If PIN Pad receives message 72 while processing user input
such as signing, swipe card, enter PIN or key-in data, It will respond with <EOT> to
acknowledge that operation is canceled.
Message element:
Field Length Value and description
<STX> 1 <02>
72 2 Message ID
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 72
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
<EOT>
Optional. If PIN pad
is waiting for users
input.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page90
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z60 PIN entry request with external prompt (DUKPT)
Format: <STX>Z60.[account]<FS>[timeout]<ETX>[LRC]
Message length: Variable 15 to 28 bytes.
Usage: Request the PIN Pad to accept customer PIN entry and encrypt it using the account
number and working key sent along in this message. The encrypted PIN block should
be retrieved via message 71.
Note: Z2/Z3 (PIN entry mode) required: Message Z2 or Z3 (PIN entry mode) should be
issued before this command, or PIN pad will send <EOT> and stop.
Aborting Transaction: Please refer to message 70.
PIN length: Please refer to message 70.
Triple DES capability: Please refer to message 70.
Message element:
Field Length Value and description
<STX> 1 <02>
Z60 3 Message ID
. 1 <2E>, delimiter
[Account] 8 .. 19 Account number
<FS> 1 (Optional) <1C>, Field separator
[timeout] 1 (Optional) ASCII character from 1’ to ‘9’
which is the timeout value in the unit of 30
seconds. Default = 9x30 = 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page91
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show prompt message
Message Z60
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 71
(after customer PIN entered), or
<EOT> when input timed out or
user pressed [CAN]
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page92
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message Z62 PIN entry request with customized prompt (DUKPT)
Format: <STX>Z62.[account]<FS>[minPIN][maxPIN][null flag]
[prompt1]<FS>[prompt2]<FS>[proc prompt]<FS>[timeout]<ETX>[LRC]
Message length: Variable 39 to 100 bytes.
Usage: Request the PIN Pad to display the prompt message in this data frame, accept
customer PIN entry and encrypt it using the account number and working key sent
along in this message. Display the [proc prompt] when the PIN has been entered. The
encrypted PIN block should be retrieved via message 71.
NOTE: Aborting Transaction: Please refer to message 70.
PIN length: Although Z62 allow programmer to specify the maximum and minimum
PIN length, but it is not allowed to set the value of [maxPIN] and [minPIN] to exceed
ANSI x9.8 specification except allow null PIN.
Triple DES capability: Please refer to message 70.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page93
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message element:
Field Length Value and description
<STX> 1 <02>
Z62 3 Message ID
. 1 <2E>, delimiter
[account] 8 .. 19 Account number
<FS> 1 <1C>, field separator
[minPIN] 2 00, 04 .. 12 minimum PIN length.
('00' only available when [null flag] set to 'Y').
[maxPIN] 2 00, 04 .. 12 maximum PIN length.
('00' only available when [null flag] set to 'Y').
[null flag] 1 Y Null PIN allowed
N Null PIN not allowed
[prompt1] 1 .. 16 P
rompt displayed before any key is pressed, alternate
with prompt2
<FS> 1 <1C>, field separator
[prompt2] 1…16 P
rompt displayed before any key is pressed, alternate
with prompt1
<FS> 1 <1C>, field separator
[proc prompt] 1…16 Prompt displayed after PIN is entered
<FS> 1 (optional) <1C>, field separator
[timeout] 1 (optional) ASCII character from ‘1’ to ‘9which is the
timeout value in the unit of 30 seconds. Default = 9x30
= 270 seconds.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page94
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
Message Z2 or Z3
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Show prompt message
Message Z62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Display [prompt1] and [prompt2] wait for
user enter PIN)
Message 71
(after customer PIN entered)
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
(Display [proc prompt])
PIN Pad 190 Programmer’s Manual
2014-02-06
Page95
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 76 PIN Entry Test Request
Format: <STX>76[account]<FS>[DC Ind][amount]<ETX>[LRC]
Message length: Variable 19 to 34 bytes.
Usage: This message is designed to do DUKPT continuous PIN entry test. PP190 will send
message71 assuming a PIN of 1234’.
Message element:
Field Length Value and description
<STX> 1 <02>
76 2 Message ID
[Account] 8..19 Primary account number
<FS> 1 <1C>, field separator
[DC Ind] 1 D/C: Debit/Credit Indicator
[Amount] 4..8 Amount of goods to be displayed on PIN Pad.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: This message is identical to message70 except that a PIN of 1234is used instead of
getting keypad input.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page96
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 7A KSN output format
Format: <STX>7A[KSN_format] <ETX>[LRC]
Message length: Fixed 6 bytes.
Usage: This message will set the key serial number (KSN) format of message 71 (DUKPT
frame). Format 0 is the original mode (strip leading ‘F’ of KSN) which is compatible of
PP690, PP790SE and PP795, Format 1 is full mode (output full 20 characters of KSN).
Message element:
Field Length Value and description
<STX> 1 <02>
7A 2 Message ID
[KSN_format] 1 ‘0’: message 71 output KSN without leading ‘F’
‘1’: message 71 output KSN with leading ‘F’.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 7A
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page97
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 90 Load First Initial Key Request
Format: <STX>90[IPEK][KSN]<ETX>[LRC] (Clear Text)
<STX>90[TR-31 Key Block]<ETX>[LRC] (Encrypted)
Message length: Fixed 41 or 57 bytes for clear text format, 93 or 109 bytes for TR-31 format.
Usage: Load first set of DUKPT initial key and serial number key to PP190. Consequent keys
will be generated using provided data.
If 32-characters (double length) initial key being loaded, PP190 will do key generation,
PIN entry, and other DUKPT operations in TDES manner.
PP190 implements multiple security measures to conform Payment Card Industry (PCI)
security requirement. In order to load clear text IPEK key, two authorized people with
their password are required. Otherwise the user must issue message 90 with
encrypted key value (ANSI TR31 format). See Symmetric Keys Loading
Authenticationfor detailed information.
Note: VISA required key serial number format are as follows:
4’F’ characters, a 6-digit keyset identifier, 5-digit device ID, followed by a ‘0’,
i.e. FF FF kk kk kk dd dd d0 00 00
Message element:
(Clear text format)
Field Length Value and description
<STX> 1 <02>
90 2 Message ID
[IPEK] 16 or
32
Initial PIN encryption key.
32-
characters Initial key will make
PP190 act in TDES DUKPT mode.
Format: hexadecimal string.
[KSN] 20 Key serial number used in generating
consequent keys.
Format: hexadecimal string.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page98
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
(Encrypted format)
Field Length Value and description
<STX> 1 <02>
90 2 Message ID
[TR-
31 Key
Block]
88 or
104
TR-
31 key block with optional header
block that contains KSN.
See Appendix A for detail.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 90
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 91
<ACK>/<NAK>/<EOT>
Example:
Clear Text
IPEK key to be loaded: ABCDEF0123456789FEDCBA9876543210
KSN: FFFF9876543210E00000
The resulting 90 message :
<STX>90ABCDEF0123456789FEDCBA9876543210FFFF9876543210E00000<ETX>[LRC]
TR-31 Key Block
Key Block Protecting Key: AA55AA55AA55AA55 3434343434343434
IPEK key to be loaded: ABCDEF0123456789 FEDCBA9876543210
KSN: FFFF9876543210E00000
Key Block Header: B0104B1TX00N0100 KS18FFFF9876543210E00000
Padded IPEK: 0080 ABCDEF0123456789 FEDCBA9876543210 30111D18CC4C
Derived KBEK: 3C50E1B7962F2171DC8643F1D923ABF7
Derived KBMK: 46FBEEB64EAE26A650952DA4F6DD8325
CMAC of (KBH + Padded key data), using KBMK: 93C3D5EBC6C407E4
Use CMAC as IV to do TDES CBC encryption on padded key data, using KBEK:
Encrypted key data: EC86E6E3B24544F97C629FB0E0586A0285D35BA78E9B13FB
Result: <02>90B0104B1TX00N0100KS18FFFF9876543210E00000EC86E6E3B24544F9
7C629FB0E0586A0285D35BA78E9B13FB93C3D5EBC6C407E4<03>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page99
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 91 Load Initial Key Response
Format: <STX>91[Status]<ETX>[LRC]
Message length: Variable (max 7 bytes.)
Usage: Confirmation of the initial key loading. PP190 will also show a message IPEK n
loaded (n = 1 or 2) to confirm the success loading of initial key of set 1 and set 2
visually.
Message element:
Field Length Value and description
<STX> 1 <02>
91 2 Message ID
[Status] 1..2 ‘0’ if successful
‘1’ + [Error Code] if process failed.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please reference message90.
Error codes:
Code Meaning
'1'
Processing message 90 without authentication, process
authentication at first
'2' IPEK and KSN format error: not hexadecimal character.
'3' Data length error.
'4' Internal memory allocation error.
'5' Cannot read internal flash memory.
‘7’ Cannot write new IPEK into flash memory.
‘F’ DUKPT 1 million limit reached or flash memory write cycle
has been exhausted.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page100
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 94 Load Second Initial Key Request
Format: <STX>94[IPEK][KSN][Key MAC]<ETX>[LRC]
Message length: Fixed 41 bytes (57 bytes for TDES initial key).
Usage: Load second set of DUKPT initial key and serial number key to PP190. Consequent
keys will be generated using provided data.
If 32-characters (double length) initial key being loaded, PP190 will do key generation,
PIN entry, and other DUKPT operations in TDES manner.
PP190 will reject message 94 if it has not yet get the authentication.
See Symmetric Keys Loading Authentication section for detail.
Note: VISA required key serial number format are as follows:
4’F’ characters, a 6-digit keyset identifier, 5-digit device ID, followed by a ‘0’,
i.e. FF FF kk kk kk dd dd d0
Message element:
Field Length Value and description
<STX> 1 <02>
94 2 Message ID
[IPEK] 16 or
32
Initial PIN encryption key.
32-char
acters Initial key will make
PP190 act in TDES DUKPT mode.
Format: hexadecimal string.
[KSN] 20 Key serial number used in generating
consequent keys.
Format: hexadecimal string.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 94
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message 91
<ACK>/<NAK>/<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page101
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message 96 Select Active Key Set
Format: <STX>96[keyset]<ETX>[LRC]
Message length: Fixed 6 bytes.
Usage: Select active key set for following transactions. This parameter is kept in flash memory
and lasts until next 96 message or DUKPT life cycle ends.
Message element:
Request frame (HOST to PIN Pad)
Field Length Value and description
<STX> 1 <02>
96 2 Message ID
[keyset] 1 ASCII character
‘0’ = First key set
‘1’ = Second key set
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message 96
request frame
<ACK>/<NAK>/<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page102
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 8 Remote key injection method
PIN Pad 190 Programmer’s Manual
2014-02-06
Page103
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message R00 Load Vender Public Key
Format: <STX>R00[Last pkt][Pkt no.]<FS>[Exp len][Exp data]<FS>[Mod data]<ETX>[LRC]
Message length: Variable
Usage: This message is used to load vender public key to PP190. If vender public key is already exists in
PP190, PP190 will return error, in this circumstance, user should use R01 command to update
vender public key.
Message element:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R00 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Exp len] 1 (optional, only first packet need)
Exponent length, value from ‘1’ to ‘8’.
[Exp data] 1~8 (optional, only first packet need)
Exponent data, hexadecimal string for exponent data.
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Mod data] Var.
(Max. 256-byte
per transmit)
(optional)
Hexadecimal string for Modulus data to be loaded,
and the modulus total length must be 512 bytes.
<ETX> 1 <03>
[LRC] 1 Checksum
Note: Modulus data must be 256 bytes (2048 bits), and it should convert to hexadecimal string for
transmission, so modulus data is 512 bytes hexadecimal string in transmission. Because hardware
restriction, host could send R00 command with several packet:
1. First packet contain:
[Last pkt][Pkt no.]<FS>[Exp len][Exp data]<FS>a part of [Mod data].
2. The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Mod data].
3. PP190 will send R00 response (R00F if success) after host send all command
packet ([Last pkt] = ‘1’).
PIN Pad 190 Programmer’s Manual
2014-02-06
Page104
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Note: If the received packets time interval is over 1 minute, PP190 will return timeout error.
Reply fame (PP190 to HOST)
Field Length Value and description
<STX> 1 <02>
R00 3 Message ID
[Status] 1 Status byte:
‘0’: Packet received success, and wait for next packet.
‘1’: Error occurred, abort transmission.
‘F’: Load vendor public key successfully.
[ErrCode] 1 (optional, if [Status] = 1)
‘1’ = Command format error.
‘2’ = Memory allocate fail.
‘3’ = Vendor public key has loaded.
‘4’ = received modulus length is not equal to user
assigned length.
‘5’ = Flash write fail.
'6' = Timeout.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message R00
<ACK>
<EOT>
Message R00 ([Status] = '0')
<ACK>
<EOT>
Message R00
(while modulus data
not end)
<ACK>
<EOT>
Message R00 ([Status] = '0')
……………… …….. …………………
Message R00(with
[Last pkt] = ‘1’)
<ACK>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page105
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Send message R00 (reply
frame).
<ACK>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page106
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message R01 Update RSA Key
Format:<STX>R01[Last pkt][Pkt no.][Key type][Data type]<FS>[Sig data]<ETX>[LRC] (1st message)
<STX>R01[Last pkt][Pkt no.][Key type][Data type]<FS>[Exp data]<ETX>[LRC] (2ndmessage)
<STX>R01[Last pkt][Pkt no.][Key type][Data type]<FS>[Mod data]<ETX>[LRC] (3rd message)
Message length: Variable.
Usage: This message is used to update PP190 Remote Key Injection RSA key (include Vender Public
KeyServer Public KeyPP190 Private Key and PP190 Public Key).
Description:
Steps for update RSA key.
1. Calculate SHA256 hash value of new RSA key(32-byte), and following RSA Cryptography
Standard to generate signature packet, reference to PKCS#1 v2.2:
a. Generate an hexadecimal string PS with value 0xff, PS length equals to Sig msg Len - T Len
- 3.
b. Since PP190 only use SHA256 to generate hash value, the DigestInfo value of T (D)should
be:
(0x) 30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20
and T should be:
D || Hash value of new RSA key(32-byte).
c. Sig msg = 0x00 || 0x01 || PS || 0x00 || T.
2. Generate RSA digital signature by Vender private key.
3. Issue 1st message R01 to PIN pad.
4. PIN pad will use Vender public key to authenticate the message format (the length of digital
signature should equal to RSA modulus stored in PIN pad) and issues 1st message R01 with the
authenticate result.
5. Issue 2nd and 3rd message R01 to PIN pad.
6. PIN pad will calculate the hash value of the [Exponent] and [Modulus] data from 2nd and 3rd
message R01 and compare the hash value that decrypt from 1st message R01.
Message element:
1st:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R01 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page107
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
[Key type] 1 (optional, only first packet need)
‘1’: Vender public key
‘2’: Server public key
‘3’: PP190 public key
‘4’: PP190 private key
[Data type] 1 (optional, only first packet need)
Value: ‘1’ (Signature data).
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Sig data] Var.
(Max. 256-byte
per transmit)
(optional)
Hexadecimal string
for Signature data of RSA
key, and the total signature length must be 512
bytes.
<ETX> 1 <03>
[LRC] 1 Checksum
2nd:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R01 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
[Key type] 1 (optional, only first packet need)
‘1’: Vender public key
‘2’: Server public key
‘3’: PP190 public key
‘4’: PP190 private key
[Data type] 1 (optional, only first packet need)
Value: ‘2’ (Exponent data).
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Exp data] Var.
(Max. 256-byte
per transmit)
(optional)
Hexadecimal string for exponent data.
(1~8 bytes for public key and
PIN Pad 190 Programmer’s Manual
2014-02-06
Page108
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
for private key must be 512 bytes.)
<ETX> 1 <03>
[LRC] 1 Checksum
3rd:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R01 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
[Key type] 1 (optional, only first packet need)
‘1’: Vender public key
‘2’: Server public key
‘3’: PP190 public key
‘4’: PP190 private key
[Data type] 1 (optional, only first packet need)
Value: ‘3’ (Modulus data).
<FS> 1 (optional, only first packet need)
<1C>, Field separator
Modulus data Var.
(Max. 256-byte
per transmit)
(optional)
Hexadecimal string for Modulus data to be loaded, and
the total signature length must be 512 bytes..
<ETX> 1 <03>
[LRC] 1 Checksum
Note:
1st message:
Signature data must be 256 bytes, and it should convert to hexadecimal string for transmission, so
signature data is 512 bytes hexadecimal string in transmission. Because hardware restriction, host
could send R01 command with several packets:
1. First packet contain:
[Last pkt][Pkt no.][Key type][Data type]<FS>a part of [Sig data].
2. The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Sig data].
3. PP190 will send load success response (R010 if success) after host send all signature data
packet ([Last pkt] = ‘1’).
PIN Pad 190 Programmer’s Manual
2014-02-06
Page109
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
2nd message:
Exponent data could be 1~8 bytes (public key) or 512 bytes (PP190 private key) hexadecimal
string, host could send R01 command as following:
1. First packet contain:
If [Key type] = 4 (PP190 private key):
[Last pkt][Pkt no.][Key type][Data type]<FS>a part of [Exp data].
The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Exp data].
Else
[Last pkt][Pkt no.][Key type][Data type]<FS>[Exp data]
2. PP190 will send load success response (R010) after host send all exponent data packet
([Last pkt] = ‘1’).
3rd message:
Modulus data must be 512 bytes hexadecimal string, host could send R01 command with several
packet:
1. First packet contain:
[Last pkt][Pkt no.][Key type][Data type]<FS>a part of [Mod data].
2. The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Mod data].
3. PP190 will send load success response (R01F if success) after host send all modulus data
packet ([Last pkt] = ‘1’).
Reply fame (PP190 to HOST)
Field Length Value and description
<STX> 1 <02>
R01 3 Message ID
[Status] 1 Status byte:
‘0’: Packet received success, and wait for next packet.
‘1’: Error occurred, abort transmission.
‘F’: Load vendor public key successfully.
[ErrCode] 1 (optional, if [Status] = ‘1’)
ASCII character.
‘1’ = SHA engine is busy
‘2’ = Vendor public key not loaded
‘3’ = Memory allocate fail
‘4’ = Command format error
‘5’ = Last state error
PIN Pad 190 Programmer’s Manual
2014-02-06
Page110
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
‘6’ = Packet number error
‘7’ = Key type error
‘8’ = Data type error
‘9’ = Range of key length error
‘A’ = R
eceived modulus length is not equal to user
assigned length.
‘B’ = Signature original data format error
‘C’ = Hash compare error
‘D’ = Flash write error
‘E’ = Flash erase error
'H' = AES engneer error
'I' = Timeout
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
1st Message R01
<ACK>
<EOT>
Message R01 ([Status] = '0')
<ACK>
<EOT>
1st Message R01
(while data not end)
<ACK>
<EOT>
Message R01 ([Status] = '0')
……………… …….. …………………
Message R01 ([Status] = '0')
1st Message R01
(with [Last pkt] = ‘1’)
<ACK>
<EOT>
Message R01 ([Status] = '0')
2nd Message R01
<ACK>
<EOT>
Message R01 ([Status] = '0')
PIN Pad 190 Programmer’s Manual
2014-02-06
Page111
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<ACK>
<EOT>
2nd Message R01
(while data not end)
<ACK>
<EOT>
Message R01 ([Status] = '0')
……………… …….. …………………
Message R01 ([Status] = '0')
2nd Message R01
(with [Last pkt] = ‘1’)
<ACK>
<EOT>
Message R01 ([Status] = '0')
3rd Message R01
<ACK>
<EOT>
Message R01 ([Status] = '0')
<ACK>
<EOT>
3rd Message R01
(while data not end)
<ACK>
<EOT>
Message R01 ([Status] = '0')
……………… …….. …………………
Message R01 ([Status] = '0')
3rd Message R01
(with [Last pkt] = ‘1’)
<ACK>
<EOT>
Send message R01 (reply
frame).
<ACK>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page112
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message R02 Remote Key Injection
Format: <STX>R02[Last pkt][Pkt no.][Data type]<FS>[Sig data]<ETX>[LRC] (1st message)
<STX>R02[Last pkt][Pkt no.][Data type]<FS>[Enc data]<ETX>[LRC] (2nd message)
Message length: Variable
Usage: This message is used to load Terminal Master Key(TMK) to PP190.
(Terminal Master Key length should be 16-byte or 24-byte)
Description:
Steps for Remote Key Injection:
1. Send R02 packet, and PP190 will reply R02 with Sig[PPpub]Vendorpriv to host, authenticate
the Signature of PP190 Public Key, then use this public key to encrypt the Key Encryption
Key (MK or DUKPT) and use servers private key to sign the hash value of Key Encryption
Key (MK or DUKPT).
2. Calculate SHA256 hash value of Terminal Master Key (32-byte), and following RSA
Cryptography Standard to generate signature packet, reference to PKCS#1 v2.2:
a. Generate an hexadecimal string PS with value 0xff, PS length equals to Sig msg Len -
T Len - 3.
b. Since PP190 only use SHA256 to generate hash value, the DigestInfo value of T
(D)should be:
(0x) 30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20
and T should be:
D || Hash value of new KEK key(32-byte).
c. Sig msg = 0x00 || 0x01 || PS || 0x00 || T.
3. Generate RSA digital signature by Server private key:
Sig data = RSA(Sig msg)
4. Issue 1st message R02 to PIN pad.
5. PIN pad will use Server public key to authenticate the message format (the length of digital
signature should equal to RSA modulus stored in PIN pad) and issues 1st message R02 with
the authenticate result.
6. Use Terminal Master Key to generate a PKCS#1 encryption format, reference to PKCS#1
v2.2:
a. Generate an hexadecimal string PS with random generated hex characters (PS could
not have any 0x00), PS length equals to Enc data Len - KEK Len - 3.
b. Enc msg = 0x00 || 0x02 || PS || 0x00 || KEK.
7. Generate Enc data by PP190 public key, which should be pre-load to host before R02
command:
Enc data = RSA(Enc msg)
8. Issue 2nd message R02 to PIN pad.
9. PIN pad will use PP190 private key to decrypt data from 2nd message R02, and calculate the
hash value of the TMK, then compare the hash value that decrypt from 1st message R02.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page113
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message element:
1st:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R02 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
[Data type] 1 (optional, only first packet need)
Value: ‘1’(Signature data).
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Sig data] Var.
(Max. 256-byte
per transmit)
(optional)
Hexadecimal string for Signature data.
[Signature data]:
Hash value of TMK
with PKCS#1
format signed by Server private key.
The signature total length must be 512
bytes.
<ETX> 1 <03>
[LRC] 1 Checksum
2nd:
Request fame (HOST to PP190)
Field Length Value and description
<STX> 1 <02>
R02 3 Message ID
[Last pkt] 1 ‘0’: packet is not last.
‘1’: packet is last.
[Pkt no.] 1 Packet sequence number.
Range:’1’~’9’
[Data type] 1 (optional, only first packet need)
Value: ‘2’ (Encrypted KEK data).
<FS> 1 (optional, only first packet need)
<1C>, Field separator
[Enc data] Var.
(Max. 256-byte
(optional)
Hexadecimal string for encrypted data.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page114
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
per transmit) [Encrypt data]:
Encryption value of TMK
(by PP190 public
key).
The encrypted total length must be 512
bytes.
<ETX> 1 <03>
[LRC] 1 Checksum
Note:
1st message:
Signature data must be 256 bytes, and it should convert to hexadecimal string for transmission, so
signature data is 512 bytes Hex string in transmission.
Because hardware restriction, host could send R02 command with several packet:
1. First packet contain:
[Last pkt][Pkt no.][Data type]<FS>a part of [Sig data].
2. The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Sig data].
3. PP190 will send load success response (R020 if success) after host send all signature data
packet ([Last pkt] = ‘1’).
2nd message:
Encrypted data must be 512 bytes hexadecimal string, host could send R02 command with
several packet:
1. First packet contain:
[Last pkt][Pkt no.][Data type]<FS>a part of [Enc data].
2. The rest of packets contains:
[Last pkt][Pkt no.] and the rest of [Enc data].
3. PP190 will send load success response (R02F if success) after host send all encrypted data
packet ([last pkt] = 1’).
Reply fame (PP190 to HOST)
Field Length Value and description
<STX> 1 <02>
R02 3 Message ID
[Sig data] 512 bytes (Only first R02 packet gets response with [Sig data].)
Hexadecimal string for Sig[PPpub]Vendorpriv.
Signature of PP190 public key.
[Status] 1 Status byte:
‘0’: Packet received success, and wait for next packet.
‘1’: Error occurred, abort transmission.
‘F’: Load vendor public key successfully.
[ErrCode] 1 (optional, if [Status] = 1)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page115
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
‘1’ = SHA engine is busy
‘2’ = KEK length error
‘3’ = Memory allocate fail
‘4’ = Command format error
‘5’ = Last state error
‘6’ = Packet number error
‘7’ = Verify encrypted format error
‘8’ = Data type error
‘9’ = Range of key length error
‘A’ = Received modulus length is not equal to user assigned length.
‘B’ = Signature original data format error
‘C’ = PP190 public key is not loaded
‘D’ = Server public key is not loaded
‘E’ = PP190 private key is not loaded
‘H’ = KEK load fail.
‘I’ = AES engineer fail.
‘J’ = Hash compare error
‘K’ = Time out.
‘L’ = PP190 private key verify fail.
‘M’ = PP190 vendor public key is not loaded.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Send R02 packet
<ACK>
<EOT>
Message R02 with [Sig data]
<ACK>
<EOT>
1st Message R02
<ACK>
<EOT>
Message R02 ([Status] = '0')
<ACK>
<EOT>
1st Message R02
(while data not end)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page116
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<ACK>
<EOT>
Message R02 ([Status] = '0')
……………… …….. …………………
Message R02 ([Status] = '0')
1st Message R02
(with [Last pkt] = ’1’)
<ACK>
<EOT>
Message R02 ([Status] = '0')
2nd Message R02
<ACK>
<EOT>
Message R02 ([Status] = '0')
<ACK>
<EOT>
2nd Message R02
(while data not end)
<ACK>
<EOT>
Message R02 ([Status] = '0')
……………… …….. …………………
Message R02 ([Status] = '0')
2nd Message R02
(with [Last pkt]=’1’)
Send message R02 (reply frame).
<ACK>
<EOT>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page117
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Section 9 EMV Level 2 transaction messages
EMV Level2 transaction messages are divided into 2 groups. One is EMV-configuration data operation
messages (T01, T03, T05, T07, T09 and T0B) and the other one is EMV-transaction messages (T11, T13,
T15, T17, T19, T1C, T21, T25, T27 and T29).
The EMV transaction messages issuing sequence is control by PIN pad, an invalid sequence will terminate
EMV transaction. At the beginning of EMV transaction, user has to issue messages T11 to make PIN pad
negotiate with card and generate a candidate list of EMV-application that supported by PIN pad and card both,
and then select a highest priority one automatically or selected by user (according to the terminal
configuration data installed in PIN pad), finally return the EMV-application name. Message T15 is used for
terminal-side to transmit transaction information such as amount and then PIN pad do a complete transaction
with card if the transaction needs not to be authorized online. Terminal can issue message T1D to transmit
additional transaction data into PIN pad for EMV transaction, such as online response data, magnetic stripe
card track data. Message T17 is applied if the transaction needs to be authorized online, terminal-side will
transmit necessary information via this message to PIN pad to continue the rest steps of transaction. If the
response from host contains issuer script (see EMV Book), terminal-side applies message T19 to input these
scripts into PIN pad and PIN pad will issue these scripts at appropriate time to card. Message T1C is used to
terminate an EMV transaction. Finally, message T21 is used for terminal-side to get the transaction
information through EMV transaction.
Terminal can apply Txx messages to handle a complete EMV transaction except that the transaction must be
changed to magnetic stripe card processing. According to EMV rule, if terminal fails to read IC card, the
transaction could be change to magnetic stripe card transaction. Because of different types of magnetic stripe
card, the magnetic stripe card processing should be taken by terminal. Terminal could issue message Q1
provided by PIN pad to make user swipe his card and then issue message 70 to complete a magnetic stripe
card transaction. In this situation, terminal will get response of T11 message that indicates an failed IC card
read, terminal should then issue message T1D, T15 and T17 to PIN pad for batch data capture. The flow
chart for changing to magnetic stripe card processing could be referred in Overall EMV level 2 transaction
flow referencesection.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page118
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T51 Terminal Configuration Setup
Format: <STX>T51[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC]
Message length: Variable.
Usage: Host can use this command to send terminal configuration data to PIN pad, this
command can be sent many times. PIN pad will save those data inside and apply
those data when do the transaction. PIN pad will send the message T52 (Terminal
Configuration Setup Response) to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T51 3 Message ID
Pkt No. 1 Decimal. Packet sequence number (1 ~ 9)(ex. 2)
Total Pkts 1 Decimal. Total packets (1~9)(ex. 8).
<SUB> 1 <1A, Optional, only if [DO] is existed
DO Var. Data Object, format as below
<ETX> 1 <03>
[LRC] 1 Checksum
Data Object:
Each <DO> shall include three data field: [Tag#] || [Format] || [Value], and each field shall
delimit with a <FS>. Each data object is delimited by a <SUB> to construct multiple <DO>. The
[tag#] defined in EMV 4.1 Book3 Annex A and specific [tag#] defined at Appendix D of this
manual have the pre-defined data format and length range, those [tag#] must follow up the
rule, otherwise the PIN Pad will reject this data setup.
Data Format: (Please also refer to EMV 4.1 BOOK3, section 4.3)
Format Description
1 a - Alphabetic data (a ~z, A~Z)
2 b - unsigned binary numbers or bit combinations
3 an - Alphanumeric data (a ~z, A~Z, 0~9)
4 ans - Alphanumeric Special data (Characters defined in ISO8859)
5 cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘Fs. Ex. 12 34 56 12 3F FF)
6 n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45)
7 var - Variable data (Any bit combination)
Note: Please be careful that only when all data objects send to PIN Pad correctly with sequence
packet number within total packets number, these data will be saved to PIN Pad. Any update
shall include whole items of <DO>, because previous setup <DO> will be lost when update!
PIN Pad 190 Programmer’s Manual
2014-02-06
Page119
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Note. If the data format is ‘2’ (binary), ‘5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),
the [value] correspond to these format can not be sent with these format directly in
message T51. It shall be converted to hexadecimal string and with pad char ‘Fin the last
one for format cnif this tag# has odd chars or with pad char ‘0’ in the first one for format
‘b’ or ‘n’ if this tag# has odd chars.
Example: (Clear the terminal configuration data and then setup new data.)
Merchant Category Code: 0000 (Numerical)
Terminal ID: SmartPOS (Ascii)
UI Capability: 0x01 (binary)
<STX>T5111<SUB>9f15<FS>6<FS>0000<SUB>9f1c<FS>3<FS>SmartPOS<SUB>
50000002<FS>2<FS>01<ETX>[LRC]
PIN pad will check if terminal downloads minimum set of terminal-related information into
PIN pad. The download process will be failed if there is not enough data in this message.
Please refer to appendix E for minimum set of terminal-related data
Message flow:
HOST Direction PIN Pad
1st Message T51
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
1st Message T52
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
2nd Message T51
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
2nd Message T52
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Last one Message T51
PIN Pad 190 Programmer’s Manual
2014-02-06
Page120
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Last one Message T52
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page121
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T52 Terminal Configuration Setup Response
Format: <STX>T52[Res][Reason][Err Msg]<ETX>[LRC]
Message length: Variable.
Usage: The response message of command T51.
Message element:
Field Length Value and description
<STX> 1 <02>
T52 3 Message ID
[Res] 1 0’: Ok,
‘1’: Fail
[Reason] 1 <Optional, if Res = ‘1’>
‘1’: Fatal Error
‘2’: Format Error
‘3’: Invalid Data Object format.
‘4’: Invalid Tag value
[Err Message] 8 Optional, if Reason = ‘1’, Hex decimal string
[Err Tag Number] Var. Optional, if Reason = ‘3’ or ‘4’, Hex decimal
string
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T51.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page122
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T53 Certificate Authority Public Key Setup
Format: <STX>T53[Pkt No.][Total Pkts][RID][PKI][Key Size][Hash Alg][PK
Alg][Exponent Len][Exponent][Hash]<ETX>[LRC]
<STX> T53[Pkt No.][Total Pkts][Modulus Len][Modulus]<ETX>[LRC]
Message length: Variable.
Usage: Host can use this command to send the Certificate Authority Public key data to PIN
pad, each command can only setup one key but this command can be sent many
times. PIN pad will save those key data inside and use those data when do the
transaction. PIN pad will send the message T54 (Certificate Authority Public Key Setup
Response) to host. The data installed into PIN pad via this message, PIN pad will save
it in internal storage structure with a name same as concatenation of value in [RID] and
[PKI] fields. Ex. value in [RID] field is A000000003, value in [PKI] filed is 90, PIN
pad will save these data and give an ID as A00000000390”.
Message element:
1st Packet (Load RSA public key):
Field Length Value and description
<STX> 1 <02>
T53 3 Message ID
Pkt No. 1 Decimal. Packet sequence number (1 ~ 9)
Total Pkts 1 Decimal. Total packets (1~9)(ex. 8).
RID 10 Hexadecimal string
, the left 5 bytes of EMV
Application ID.
PKI 2 Public Key Index, hexadecimal
string. (Refer to
EMV 4.1, tag 9f22)
Key Size 4
Public Key size, hexadecimal string. Key: [Hash
Alg] || [PK Alg] || [Exponent Len] || [Exponent] ||
[Hash] || [Modulus Len] || [Modulus]
The value is displayed as big endian and is half of
the key hex string. For example:
00A9=169 bytes. And key string will be 338 bytes.
Hash
Algorithm
2 Hash Algorithm Index, hexadecimal string
01: SHA-1. Now, PIN pad accepts only 01’.
PK
Algorithm
2 Public Key Algorithm, hexadecimal string
01: RSA digital signature. Now, PIN pad accepts
only 01’.
Exponent
Len
2 Public Key Exponent size, hexadecimal string. For
example:
PIN Pad 190 Programmer’s Manual
2014-02-06
Page123
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
‘03’ = 3 bytes
Exponent Var. Public Key Exponent, hexadecimal
03: 3
010001: 216+1
Hash 40 Hash checksum, hexadecimal
<ETX> 1 <03>
[LRC] 1 Checksum
2nd Packet (Load RSA public key):
Field Length Value and description
<STX> 1 <02>
T53 3 Message ID
Pkt No. 1 Decimal. Packet sequence number (1 ~ 9)
Total Pkts 1 Decimal. Total packets (1~9)(ex. 8).
Modulus Len 2
Public Key Exponent size, hexadecimal
string. For example:
‘80’ = 128 bytes = 1024 bits
Modulus Var.
(Max. 256-byte
per transmit)
Public Key Modulus, presented in
hexadecimal, data length = 2*[ Modulus
Len]
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
1st Message T53
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
1st
CA Public Key Setup
Response Message T54
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
2nd Message T53
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page124
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
2nd CA Public Key Setup
Response Message T54
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Command Example:
1. Visa CA 51, RID: A000000003
<02>T5313A0000000035100A901010103B9D248075A3F23B522FE45573E04374DC4995D71<03><L
RC>
<02>T532390DB5FA29D1FDA8C1634B04DCCFF148ABEE63C772035C79851D3512107586E02A917
F7C7E885E7C4A7D529710A145334CE67DC412CB1597B77AA2543B98D19CF2CB80C522BDBEA0F
1B113FA2C86216C8C610A2D58F29CF3355CEB1BD3EF410D1EDD1F7AE0F16897979DE28C6EF29
3E0A19282BD1D793F1331523FC71A228800468<03><LRC>
<02>T5333C01A3653D14C6B4851A5C029478E757F<03><LRC>
2. Paypass CA EF, RID: A000000004
<02>T5313A000000004EF01110101010321766EBB0EE122AFB65D7845B73DB46BAB65427A<03><
LRC>
<02>T5323F8A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899
EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60
F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBC
B4686CD274785530FF6F6E9EE43AA43FDB02CE0<03><LRC>
<02>T53330DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D3
5C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562
C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF9
15006D9A987B07DDAEB3B<03><LRC>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page125
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T54 Certificate Authority Public Key Setup Response
Format: <STX>T54[Resp][Reason][Err Msg]<ETX>[LRC]
Message length: Variable.
Usage: The response message of command T53.
Message element:
1st, 2nd Packet:
Field Length Value and description
<STX> 1 <02>
T54 3 Message ID
Sequence 1 1 / 2 (first/second part of RSA public key)
[Resp] 1 ‘0’: Ok,
‘1’: Fail
[Reason] 1 Option if [Resp] is ‘1’,
‘1’: Fatal Error
‘2’: Format Error
‘3’: Authentication Fail
[Err Message] 8 Optional, if Reason = ‘1’,
Hex String
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T53.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page126
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T55 EMV Application Configuration Setup
Format: <STX>T55[PktNo.][Total Pkts]<SUB>[TranType]<SUB>[KID]<SUB>
[AID]<SUB>[DO]<ETX>[LRC]
<STX>T55[Pkt No.][Total Pkts]<SUB>[DO]<ETX>[LRC]
Message length: Variable.
Usage: Host can use this command to send the EMV application configuration data to PIN
pad, this command can be sent many times but each command is only for one
application. PIN pad will save those data inside and use those data when do the
transaction. PIN pad will response the message T56 (EMV Application Configuration
Setup Response) to host. The data installed into PIN pad via this message, PIN pad
will save it in internal storage structure with a name same as in [AID] field.
Message element:
1st Message:
Field Length Value and description
<STX> 1 <02>
T55 3 Message ID
Pkt No. 1 Decimal. Packet sequence number (1 ~ 9)
Total Pkts 1 Decimal. Total packets (1~9)(ex. 8).
<SUB> 1 Optional, if Pkt No is 1 <1A>
[TranType] 2 Optional, if Pkt No is 1.
Hexadecimal, Transaction Type.
<SUB> 1 Optional, if Pkt No is 1 <1A>
[KID] 2 Optional, if Pkt No is 1.
Hexadecimal, kernel ID.
<SUB> 1 Optional, if Pkt No is 1 <1A>
AID 10~32
Optional, if Pkt No is 1. EMV Application ID, refer to
EMV 4.1
<SUB> 1 Optional, only if [DO] is existed
DO Var.
(Max. 220-byte
per transmit)
Data Object, format as below
<ETX> 1 <03>
[LRC] 1 Checksum
Rest of Message (If there are 2 more messages):
Field Length Value and description
<STX> 1 <02>
T55 3 Message ID
PIN Pad 190 Programmer’s Manual
2014-02-06
Page127
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
<SUB> 1 Optional, only if [DO] is existed
DO Var.
(Max. 256-byte
per transmit)
Data Object, format as below
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page128
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Data Format: (Please also refer to EMV 4.1 BOOK3, section 4.3)
Format Description
1 a - Alphabetic data (a ~z, A~Z)
2 b - unsigned binary numbers or bit combinations
3 an - Alphanumeric data (a ~z, A~Z, 0~9)
4 ans - Alphanumeric Special data (Characters defined in ISO8859)
5 cn - Compressed numeric data (0~9, left justify, pad hexadecimal ‘Fs. Ex. 12 34 56 12 3F FF)
6 n - Numeric data (0~9, right justify, pad leading hexadecimal zeroes. Ex. 00 00 00 01 23 45)
7 var - Variable data (Any bit combination)
Data Object:
Each <DO> shall include three data field: [Tag#] || [Format] || [Value], and each field shall
delimit with a <FS>. Each data object is delimited by a <SUB> to construct multiple <DO>. The
[tag#] defined in EMV 4.1 Book3 Annex A and specific [tag#] defined at Appendix D of this
manual have the pre-defined data format and length range, those [tag#] must follow up the
rule, otherwise the PIN Pad will reject this data setup.
Note. If the data format is ‘2’ (binary), 5’(compressed numeric), ‘6’(numeric) or ‘7’(variable data),
the [value] correspond to these format can not be sent with these format directly in message
T55. It shall be converted to hexadecimal string and with pad char ‘F’ in the last one for format
cnif this tag# has odd chars or with pad char ‘0in the first one for format ‘b’ or ‘nif this
tag# has odd chars.
Example:
Default TDOL: 97 07 9f 02 06 95 05 9b 02 (binary)
Threshold Value for Biased Random Selection: 00 00 00 00 40 00(numerical)
Max. Target percentage to be used for Biased Random selection: 100 (decimal) / 0x46 (binary)
<STX>T5511<SUB>00<SUB>03<SUB>A00000031010<SUB>97<FS>2<FS>97079f020695059
b02<SUB>40000004<FS>6<FS>000000004000<SUB>40000006<FS>2<FS>46<ETX>[LRC]
PIN pad saves these data and give an ID as A00000031010to this group of data.
Special Tag# defined by PIN pad: (Not EMV defined)
Name Description Format Tag Length
Application Selection Indicator See below n 40000001 1
Threshold Value for Biased
Random Selection
See below n 40000004 6
Target Percentage to be used See below b 40000005 1
PIN Pad 190 Programmer’s Manual
2014-02-06
Page129
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
for Biased Random Selection
Maximum Target Percentage to
be used for Biased Random
Selection
See below b 40000006 1
Terminal Action Code - Default See below b 40000007 5
Terminal Action Code - Denial See below b 40000008 5
Terminal Action Code - Online See below b 40000009 5
Data Tags required in Online
message (ARQC)
See below b 4000000A var.
Data tags required in reversal
message
See below b 4000000D var.
Data tags for batch data capture
See below b 40000010 var.
ARC Approve See below b 4000001A var.
ARC Decline See below b 4000001B var.
ARC Referral See below b 4000001C var.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page130
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message flow:
HOST Direction PIN Pad
1st Message T55
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
1st Message T56
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
2nd Message T55
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Application Select Response.
2nd Message T56
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Last one Message T55
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Application Select Response.
Last one Message T56
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN pad will check if terminal downloads minimum set of EMV Application-related information into PIN
pad. The download process will be failed if there is not enough data in this message. Please refer
to appendix E for minimum set of EMV Application -related data
PIN Pad 190 Programmer’s Manual
2014-02-06
Page131
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T56 EMV Application Configuration Setup Response
Format: <STX>T56[Resp][Reason][Err Msg]<ETX>[LRC]
Message length: Variable.
Usage: The response message of command T55.
Message element:
Field Length Value and description
<STX> 1 <02>
T56 3 Message ID
[Resp] 1 ‘0’: Ok,
‘1’: Fail
[Reason] 1 Option if [Resp] is ‘1’,
‘1’: Fatal Error
‘2’: Format Error
‘3’: Invalid Data Object format.
‘4’: Invalid Tag value
[Err Message] 8 Optional, if Reason = ‘1’Hex String
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T55.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page132
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T61 Start Transaction
Format: <STX>T61<SUB>[AmtAuth]<SUB>[AmtOther]<SUB>
[CurExponent][CurCode]<SUB>[TranType]<SUB>[TranInfo]<SUB>
[Account Type]<SUB>[Force Online]<SUB> [Encrypted Session key]
<ETX>[LRC]
Message length: Variable.
Usage: After receive this message command T61, PIN Pad will perform an completed EMV
transaction flow (the flow will cover Initiate Applicationthrough Completion, see EMV
4.1, book 3, chap 8.2, figure 6 - transaction flow example) based on the selected EMV
application that has corrected application name on the T12 (Application Select
response), PIN pad will also prompt user to do the appropriated entry when presented,
like confirm or enter PIN code. PIN pad will send the message T62 (Start Transaction
Response) to host.
If the IC card cant be read (which has known from T12 response code with T1214
when in message T11 processing and terminal changed to do magnetic stripe card
processing; please refer the Notes in message T12), then after receive this message
T61, PIN pad will not process the EMV transaction flow but in place of just storing the
information provided from this message and return the message T62 with result code
A1to ask terminal to go line to get the authorization then send back a message T71
to finish this transaction. Terminal could have extra operation on magnetic stripe card
transaction (like issue message Q1 to read track data and issue message 70 for PIN
entry, and so on.) before issue this message T61.
Message element:
Field Length Value and description
<STX> 1 <02>
T61 3 Message ID
<SUB> 1 <1A>
[
AmtAuth]
12
Hexadecimal, Amount Authrozied,
will be stored at tag 0x9f02
<SUB> 1 <1A>
[
AmtOther]
12 Hexadecimal, Amount Other, will be
stored at tag 0x9f03
<SUB> 1 <1A>
[CurExponent] 1 Hexadecimal, stored at tag 0x5f36
[CurCode]
3 Hexadecimal, stored at tag 0x5f2a.
For example, USD$ = 0x840
<SUB> 1 <1A>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page133
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
[
TranType]
2
Hexadecimal, Transaction Type, will
be stored at tag 0x9c
<SUB> 1 <1A>
[
TranInfo]
2 Transaction Info, will be stored at tag
0x60000001
<SUB> 1 <1A>
[
Account Type]
2 Account Type, stored at tag 0x5f57
<SUB> 1 <1A>
[
Force Online]
1
1: Force Online, only valid if this
terminal has the capability of support
online authorization.
<SUB> 1 <1A>, optional
[
Encrypted
Session key]
16 or
32
Optional, DES or TDES session key
that used to encrypt PIN entry when
CVM ask online PIN verify.
If the CVM ask online PIN verify but
this session key does not input, PIN
pad will ignore the PIN entry request
and indicate that no PIN is entered in
the TVR register.
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message T61
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Start Transaction Response.
Message T62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Note: If [Encrypted Session key] is input, the tag# (for example, 0xDF02) to store this encrypted session key
shall be defined at tag#50000005, please refer T01 commands notes how to setup this tag#DF02.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page134
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T62 Start Transaction Response
Format: <STX>T62[Status][Reason][Err Message][Result]<SUB>
<Advice Need> <Reversal Need> <Financial Need><ETX>[LRC]
Message length: Variable.
Usage: The message contains the transaction result on the smart card to be sent to terminal.
Message element:
Field Length Value and description
<STX> 1 <02>
T62 3 Message ID
Status 1 0:OK; 1:Fail
Reason 1 Optional. (If Status = 1)
1:Fatal Error
2:Command Format Error
[Err Message] 8 Optional, if Reason = ‘1’Hex String
[Result] 2 Optional. (If Status = 0)
Y1: Offline Approved,
Z1: Offline Declined
Y3: Unable to go online,
Offline Approved
Z3: Unable to go online, Offline Decline.
Y4: Online Approved
Z4: Online Decline
A1: Online Authorize Request,
A4: Application reselection.
<Advice Need> 1 Optional, only valid if [Result] is A1”.
RFU.
<Reversal
Need>
1 0: Terminal does not need to send a reversal to
host for this transaction
1: Terminal should send a reversal to host for this
transaction.
<Financial
Need>
1 Optional, only valid if [Result] is A1”.
RFU
<ETX> 1 <03>
[LRC] 1 Checksum
Note: If the [Result] is A1, then terminal should send online authorization request to issuer host; and
after done, terminal shall send message T71 to PIN pad to continue transaction. (See EMV 4.1,
book 3, chap 9, figure 7, 8)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page135
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Note: If the transaction is switched to MSR processing, T62 will always return A1in [Result] field.
Note: if the previous selected application on IC card cant do the transaction (for example, this
application has blocked) but has another application ID within this IC card, PIN pad will response
A4to let terminal know and terminal can issue message T13 to select another application ID and
issue message T61 to re-start the transaction. Please refer the paragraph of Ref. 5 Packet
command flow for first EMV application is blocked in the section of Overall EMV Level 2
transaction flow reference.
Message flow: Please refer to message T61.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page136
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T63 Get Transaction Results Data
Format: <STX>T63[DOL]<ETX>[LRC]
Message length: Var.
Usage: PIN Pad will retrieve the data that list on the DOL after EMV transaction done. PIN Pad
will send the message T64 (Get Transaction Results Data Response) to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T63 3 Message ID
DOL Var Data Object List, each object is expressed
by tag number, and <SUB> is used to
delimit each object. For example,
9F12<SUB>9A<SUB>9F02<SUB>….
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message T63
<ACK> (Good LRC)
<NAK> (Bad LRC)
<EOT> after 3 NAKs
Get Transaction Results Data
Response.
Message T64
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page137
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T64 Get Transaction Results Data Response
Format: <STX>T64[DO]<ETX>[LRC]
Message length: Var.
Usage: The message contains the transaction results data to be sent to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T64 3 Message ID
[DO] Var.
Data Object, each data object is
expressed by TLV format with an
<FS> delimit in each field, and
<SUB> is used to delimit each
object. For example:
9F12<FS>0F<FS>CREDITO DE
VISA<SUB>9A<FS>06<FS>0508
06<SUB>…….
<ETX> 1 <03>
[LRC] 1 Checksum
Data Object:
PIN pad will return series of data object that list on the [DOL] field in the message T64 with TLV (tag ||
length|| value) format as below:
[EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value] <SUB>
[EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value] <SUB>
. . . . . . . .
[EMV Tag Number (2 ~ 8 byte)] <FS> [Length (2byte)] <FS> [Value].
Note: When PIN Pad response these data object, it will convert these value from binary value to hex
decimal string if the data object format is “b” or cnor “n”.
Message flow: Please refer to message T63.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page138
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T65 Get Online authorization Data
Format: <STX>T65<ETX>[LRC]
Message length: 6.
Usage: Issue this message to get data (EMV) for online authorization.
Message element:
Field Length Value and description
<STX> 1 <02>
T65 3 Message ID
<ETX> 1 <03>
[LRC] 1 Checksum
While the EMV transaction must be authorized online, terminal shall issue message T65 to get the
necessary data for online authorization from PIN pad. And PIN pad will wait terminal to send one
message T71 to tell the PIN Pad the go online authorization result
User shall load a data objects tag list in tag# 4000000A for online authorization data into PIN Pad when
do the application configuration setup (message T55), PIN pad will search the corresponding values
according to this tag list and return it at message T66 after receive message T65 from terminal. Please
refer to Appendix D for more details.
Message flow:
HOST Direction PIN Pad
Message T65
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message T66
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page139
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T66 Response of Get Online authorization Data message
Format: <STX>T66 [online authorization data]<ETX>[LRC]
Message length: var.
Usage: Return online authorization data to terminal.
Message element:
Field Length Value and description
<STX> 1 <02>
T28 3 Message ID
[Online authorization data] Var. Hex string.
Optional, if th
is transaction needs to be
authorized online.
<ETX> 1 <03>
[LRC] 1 Checksum
Online authorization data:
According to the tag list of online authorization data (refer to appendix D) which defined at tag#
4000000A, PIN pad will search the corresponding values according to this tag list and return series of
data object with TLV (tag || length|| value) format as below:
[EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value] <SUB>
[EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value] <SUB>
. . . . . . . .
[EMV Tag Number (2 ~ 8 byte)] || [Length (2byte)] || [Value].
PIN pad can return at maximum 256 bytes of data as one record, the right part of data will be ignored if
the length record is greater than 256 byte.
When PIN Pad response these data object, it will convert these value from binary value to hex decimal
string if the data object format is “b” or cnor “n”. For example, the data of one record is 0x9F02 || 06 ||
000000001100 || 5A || 10 || 11223344556677889900AABBCCDDEEFF, terminal will see
9F0206000000001100<SUB>5A1011223344556677889900AABBCCDDEEFF”.
Message flow: Please refer to message T65
PIN Pad 190 Programmer’s Manual
2014-02-06
Page140
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T71 Send Online Authorized Code
Format: <STX>T71[Online Res]<SUB>[ARC][IAD]<ETX>[LRC]
Message length: Fixed 7 or 16 bytes.
Usage: After receive this message T71, PIN Pad will continue to perform the EMV transaction
flow if the previous T62 response result is A1(online authorized request, see EMV 4.1,
book 3, chap 8.2, figure 6 transaction flow example). PIN pad will response the
message T62 (Start Transaction Response) to this T71 to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T71 3 Message ID
Online Res 1 ‘0’: Unable to go online
<ETX> 1 <03>
[LRC] 1 Checksum
OR
Field Length Value and description
<STX> 1 <02>
T71 3 Message ID
Online Res 1 ‘1’: Get Online Authorize Response,
<SUB> 1 <1A>
ARC 2
Authorisation Response code, ASCII
(0~9, A~Z). Please see Note 1.
<SUB> 1 <1A>
[
IAD]
16~32 Optional, Issuer Aut
hentication Data,
Hex string.
if there is IAD response from remote
host , terminal shall send this to PIN
pad.
<ETX> 1 <03>
[LRC] 1 Checksum
Note 1:
These acceptable ARC code shall be matched with the pre-defined code at tag# 4000001A
(ARC approval) and tag#4000001B (ARC decline) and tag# 4000001C (ARC referral) (please
refer Appendix D) where these tag value can be setup by message T05. Please note the data
format in tag# 4000001A to tag# 4000001C are binary but here [ARC] format is ASCII. So there
PIN Pad 190 Programmer’s Manual
2014-02-06
Page141
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
shall have a convert. For example, if the ARC approval code Y0, then the binary value in tag#
4000001A shall be 0x5930.
OR (If the transaction is changed to Magnetic stripe card processing)
Field Length Value and description
<STX> 1 <02>
T71 3 Message ID
Online Res 1 ‘3’: MSR Online Approve
‘4’: MSR Online Decline,
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message T71
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Start Transaction Response.
Message T62
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page142
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T73 Send Issuer Script Command
Format: <STX>T73[IS]<ETX>[LRC]
Message length: Var.
Usage: PIN Pad performs the Issuer script processing as in EMV transaction flow after
received this command from the host those are the response message when doing
online authorization. This command can be send many times if too many script
commands need to be processed, but the last one should be send before T71
command.
Message element:
Issuer Script Format: (see EMV 4.1, book 3, chap 10.10, Figure 10)
T L T L Script ID Commands
71or
72
Incl
uding
Script ID,
tags,
lengths
9F18 04 Identifier (4 bytes)
Issuer Script
Command Format
(see below)
Issuer Script Command Format: (see EMV 4.1, book 3, chap 10.10, Figure 11)
T1 L1 V1 T2 L2 V2 T3 L3 V3 Tx Lx Vx
86 L(V1) Cmd 86 L(V2) Cmd 86 L(V3) Cmd 86 L(Vx) cmd
Field Length Value and description
<STX> 1 <02>
T73 3 Message ID
IS Var. Issuer Script, format as follow. Hex string.
<ETX> 1 <03>
[LRC] 1 Checksum
PIN Pad 190 Programmer’s Manual
2014-02-06
Page143
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T74 Send Issuer Script Command Response
Format: <STX>T74[Status][Reason][Err Message]<ETX>[LRC]
Message length: Variable.
Usage: The message response the command T73.
Message element:
Field Length Value and description
<STX> 1 <02>
T74 3 Message ID
Status 1 0:OK ; 1:Fail
Reason 1 Optional. (if Status = 1)
1:Fatal Error
2:Command Format Error
[Err Message] 8 Optional, if Reason = ‘1’, Hex String
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T73.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page144
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T75 Revocation List Setup
Format: <STX>T75<SUB>[RID][SN][PKI]<ETX>[LRC]
Message length: Fixed 25 bytes
Usage: Host can use this command to send revocation key information to PIN pad, this
command can be sent many times. PIN pad will save those information inside and
check those information when do the transaction. PIN pad will send the message T76
(Revocation List Setup Response) to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T75 3 Message ID
<SUB> 1 Separator
RID 10 The RID for revocated public key. Present in hexstring.
SN 6
The serial number of the revocated public key. Present in
hexstring.
PKI 2
The public key index of the revocated key. Present in
hexstring.
<ETX> 1 <03>
[LRC] 1 Checksum
Example:
Revocation list information
RID: A0 00 00 00 03
SN: 00 00 01
PKI: 51
<STX>T75<SUB> A00000000300000151<ETX>[LRC]
Message flow:
HOST Direction PIN Pad
Message T75
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Message T76
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page145
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T76 Revocation List Setup Response
Format: <STX>T76[Res][Reason][Err Msg]<ETX>[LRC]
Message length: Variable.
Usage: The response message of command T75.
Message element:
Field Length Value and description
<STX> 1 <02>
T76 3 Message ID
[Res] 1 0’: Ok,
‘1’: Fail
[Reason] 1 <Optional, if Res = ‘1’>
‘1’: Fatal error
‘2’: Invalid Data format
‘3’: Revocation list is full
‘4’: The added info exists
[Err Message] 8 Optional, if Reason = ‘1’, Hex decimal string
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T75.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page146
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T77 Exception List Setup
Format: <STX>T77<SUB>[PAN Len][PAN]<ETX>[LRC]
Message length: Variable.
Usage: Host can use this command to send the exception pan to PIN pad. PIN pad will save
the information inside and check them when do the transaction. Once the transaction
pan is on the exception list, the transaction will be terminated. PIN pad will send the
message T78 (Exception List Setup Response) to host.
Message element:
Field Length Value and description
<STX> 1 <02>
T77 3 Message ID
<SUB> 1 Separator
PAN Len 2 The length of PAN digits. Present in hexstring.
PAN var Numeric string
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow:
HOST Direction PIN Pad
Message T77
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Exception List Setup Response
Message T78
<ACK> (Good LRC)
<NAK> (Bad LRC)
(<EOT> after 3 NAKs)
Command Example:
PAN: 47 61 73 90 01 01 00 10
<STX>T77<SUB>104761739001010010<ETX><LRC>
PIN Pad 190 Programmer’s Manual
2014-02-06
Page147
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Message T78 Exception List Setup Response
Format: <STX>T78[Resp][Reason][Err Msg]<ETX>[LRC]
Message length: Variable.
Usage: The response message of command T77.
Message element:
Field Length Value and description
<STX> 1 <02>
T78 3 Message ID
[Resp] 1 ‘0’: Ok,
‘1’: Fail
[Reason] 1 Option if [Resp] is ‘1’,
‘1’: Fatal Error
‘2’: Format Error
‘3’: Exception List is full
‘4’: PAN exists
[Err Message] 8 Optional, if Reason = ‘1’,
Hex String
<ETX> 1 <03>
[LRC] 1 Checksum
Message flow: Please refer to message T77.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page148
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Appendix A Key management
This PIN pad is designed to encrypt Personal Identification Numbers (PIN) as they are entered from the
keypad, store the encrypted data in its memory and then transmit it to the HOST as requested.
Because the data-encryption standard (DES) and RSA algorithm are in the public domain, the security of
the functions of the PP190 depend on the security of the key that is used in processing the algorithm.
Therefore, after you load cryptographic keys into the PP190, the keys cannot be read. They are placed
AES encrypted by a randomly generated AES key, resident in a battery-powered register. Once security
is breached, the AES key will be erased, and all encrypted DES master keys become unusable.
You can design a secure method for handling your keys when you are isolated from the PIN keypad,
using the provisions for loading the keys. Randomly generate your keys, and store and distribute your
keys in a secure, controlled manner that you can audit.
An independent Tamper Resistant Security Module (TRSM) is required for secure key injection process.
UIC provides a software key injection utility (UICKIT for Windows) as demo for safely and manageable
key injection procedure. Please refer to UICKIT programming manual for detail.
PP190 supports following management schemes:
1. Master/session key (MK/SK):
PP190 can store 16 master keys, key ID 0 to 9 are for MK/SK PIN entry (They can be PIN master
key or PIN key), key ID B to E is for generate or verify MAC, depend on its usage and mode
settings. (They can be MAC master key or MAC key), F for master key transportation (It can be
only key loading key). These master keys cannot be used in other ways (e.g. designer cannot use
PIN entry keys for MAC generation.) Session keys (working keys) are transmitted from the HOST,
encrypted by the master key for every transaction. Customer’s PIN is encrypted using the
decrypted working key or by selected master key (If the selected one is with key usage P0”). Thus
the master keys must exist before any transaction can take place. PP190 can use 8 bytes DES
key format or 16 / 24 bytes Triple DES key format, the working key can also be 16 bytes TDES key.
When doing transactions using MK/SK scheme, firmware of PP190 applies a DES calculation
count limiter (only 10 transactions are allowed in 5 minutes period.) to comply with PCI PED
security requirement (average one transaction per 30 seconds.) This constraint is set to deter
attacker using huge saturation DES transaction to detect master key in PP190.
2. ANSI TR31 Specified Key Bundle
Key Attribute:
When loading master keys into PP190 in encrypted format, the key data is wrapped by a key
bundle specified in ANSI TR-31 2010 specification.
1. Key usage: indicate what usage of a key.
K0, indicates that this key is used for key transportation;
P0, indicates that this key is used for PIN entry directly;
PIN Pad 190 Programmer’s Manual
2014-02-06
Page149
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
D0, indicates that this key is used for data transportation;
M1indicates that this key is used for MAC calculation directly by ISO 9797-1 method 1.
M3indicates that this key is used for MAC calculation directly by ISO 9797-1 method 3.
B1, indicates that this key is used for DUKPT initial key (ANSI TR-31 2010).
2. Algorithm: indicate what algorithm will be used with the key.
“D” : DES algorithm
“T”: TDES algorithm (double or triple length key)
“A”: AES algorithm (RFU)
3. Mode: indicate what cryptograph operation will be applied with the key
“D”: Decryption
“E”: Encryption
“G”: MAC generation
“V”: MAC verification
“X”: Key derivation (DUKPT)
4. Version (RFU): It should be 00.
5. Export (RFU): It should be N”.
If the key usage is K0, the length of key must be 16 bytes or 24 bytes (algorithm must be “T”).
Key Architecture and limitation
Group Key ID
Length Usage Algorithm Mode Encrypt under
PIN 0~9 8~24 P0 D or T E KLK
16~24 K0 T D KLK
Data A RFU RFU RFU RFU RFU
MAC B~E 8 M1 D G KLK
16 M3 T G / V KLK
16~24 K0 T D KLK
KLK F 16~24 K0 T D KLK
Key attribute and limitation for IPEK
IPEK Length Usage Algorithm Mode Encrypt under
IPEK0
or
IPEK1
8 or 16 B1 D or T X KLK
1. All the keys injected in cipher-text must be encrypted by key derived from KLK and calculate a
MAC value by key derived from KLK
2. For key with usage K0, the length must be 16 bytes or 24 bytes.
3. For MAC key with usage M1, the length of key must be 8 bytes (DES-MAC).
4. For MAC key with usage M3, the length of key must be 16 bytes (TDES-MAC).
PIN Pad 190 Programmer’s Manual
2014-02-06
Page150
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
5. Duplicate key injection is not allowed. (except IPEK0 and IPEK1)
6. The length of injected key in cipher-text should be equal to or less then the length of KLK.
Key Injection
To inject clear-text key (Key ID: 0~9, A~F) into PP190, the default attributes will be as following,
Key usage = K0, Algorithm = “T”, Mode = “D, Version = 00and export = “N”
To inject cipher-text key into PP190, user has to assign these attributes.
For Key 0 ~ 9,
Key usage should be K0or P0, algorithm should be T” or “D”, mode should be “D(If for “K0
usage) or E” (If for D0usage).
For Key B ~ E,
Key usage should be K0, M1” or M3, algorithm should be “T(If for “K0or M3usage) or “D”
(If for “M1usage), mode should be “D” (If for K0usage) or “G(If for M1or M3usage).
For Key F,
Key usage should be K0, algorithm should be “T”.
For IPEK 0~1
Key usage could be any 2 bytes data, algorithm should be “D” or “T, mode should be “E”.
Inject key in cipher-text (TR31 format)
For Key 0~9, A~F
<SI>02[Key ID][KBH][Encrypted KEY][MAC]<SO>, where [KBH] + [Encrypted KEY] + [MAC] is
TR31 block.
For IPEK0
<STX>90[KBH][Optional KBH][DUKPT0][MAC]<ETX>, where [KBH and Optional KBH] +
[IPEK0] + [MAC] is TR31 block.
For IPEK1
<STX>94[KBH][Optional KBH][DUKPT1][MAC]<ETX>, where [KBH and Optional KBH] +
[IPEK1] + [MAC] is TR31 block.
KBH (Key Block Header ASCII format):
A[4byte length of TR31 block][2byte - Usage][1byte - Algorithm] [1byte - Mode][2byte -
Version][1byte - Export][2byte - option][2byte - rfu]
Optional KBH (For DUKPT use only):
[2byte: Optional Block ID, fixed as KS][2byte: Optional Block Length, fixed as 18][20byte:
Optional Block Data, put key serial number (refer to ANSI X9.24 SMID) in this field]
Encrypted KEY Block:
1. Derive Key1 by XOR KLK with 0x45
PIN Pad 190 Programmer’s Manual
2014-02-06
Page151
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
2. Generate new key block, [2byte number indicate the key in bits][key][random padding]
3. Encrypt the new key block by Key1 with first 8byte of KBH as IV in CBC mode and get
encrypted key block.
MAC:
1. Derive Key2 by XOR KLK with 0x4D
2. Concatenate KBH with Optional KBH (if any) and encrypted key block and get new key block
2.
3. Encrypt the new key block 2 by Key2 without IV in CBC mode and get the last 8 bytes.
4. Get the first 4 bytes of result as MAC value
Example 1:
KLK: 0123456789ABCDEFFEDCBA9876543210
New MK (Key ID = 1, key usage = K0): 89E88CF7931444F334BD7547FC3F380C
Generate KBH:
KBH = A | 0072 | K0 | T | D | 00 | N | 0000
Generate Encrypted KEY Block:
1. Derive K1 for encryption: 44660022CCEE88AABB99FFDD33117755
K2 for MAC value: 4C6E082AC4E680A2B391F7D53B197F5D
2. Key length = 16 bytes (128 bits = 0x80), 6 byte random padding = 720DF563BB07,
New key block = 008089E88CF7931444F334BD7547FC3F380C720DF563BB07.
3. IV = first 8 byte of KBH (A0072K0T) = 41303037324B3054, apply TDES-CBC on new
key block by K1 with IV and get encrypted key block = D078A2657E5B57972CD3
D308E05E1FE519B316309AA6354A
MAC:
1. Concatenate KBH and encrypted key block = 41303037324B30544430304E303
03030D078A2657E5B57972CD3 D308E05E1FE519B316309AA6354A
2. Apply TDES-CBC on new key block 2 by K2 without IV and get last 8 byte result =
668071B5B73CC024
3. MAC value = 668071B5
4. The final TR31 block = A0072K0TD00N0000 - D078A2657E5B57972CD3D308E05E
1FE519B316309AA6354A - 668071B5
Send message 02 to load this new key in cipher-text:
<SI>021A0072K0TD00N0000D078A2657E5B57972CD3D308E05E1FE519B316309AA6354A66
8071B5<SO>[LRC]
3. Derived Unique Key Per Transaction (DUKPT):
PP190 Implements ANSI X9.24-2002 and ANSI TR31 key management scheme for DUKPT.
PIN Pad 190 Programmer’s Manual
2014-02-06
Page152
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Authorized personnel can load 8bytes/16bytes Initial keys (also known as IPEK) and Key serial
number (also known as ‘Security Management Information Data-SMIDin ANSI X9.24). Every time
when PP190 finished a PIN entry transaction, a new key will be calculated. Every single
transaction will use different key in order to prevent attacker to detect specific keys in any
transactions.
The symmetric keys (MKSK/DUKPT) structure is shown as following:
Master Key 0
(PIN entry master keys / PIN keys)
Master Key 1
(PIN entry master keys / PIN keys)
Master Key 9
(PIN entry master keys / PIN keys)
...
Master Key B~E
(MAC master keys)
(MAC master keys / MAC keys)
Master Key F
(Key Loading Key)
Master Key G
(MSR master key / MSR data key)
4. RSA public key:
PP190 supports RSA encryption when processing EMV level 2 offline transactions with smart
cards.
5. Second DUKPT Key Set of PP190:
PP190 provides 2nd key set of DUKPT operation for customers scalability. Message 90 is used to
initialize first key set, with message 94 to initialize second key set. User must issue message 96 to
select preferred key set before doing DUKPT transactions. These two key set are independent
with each other, and both accepts double length key for TDES capability. Ether key set reaches
1million transaction limit will lock down PP190.
In real operation, authorized user can load a 8byte DES initial key to key set 1 and a 16byte TDES
initial key to key set 2 before PIN pad is deployed. At first use can transact with key set 1. When
backbone system ready, user can use message 96 to select key set 2 to switch to TDES
transaction immediately.
6. Triple DES (TDES) capability:
DUKPT Set 0
DUKPT Set 1
PIN Pad 190 Programmer’s Manual
2014-02-06
Page153
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
TDES means that DES algorithm is applied three times on the data to be encrypted before it is
sent over the line. PP190 can detect key length when loading keys (message 02 for
Master/Session key and message 90/94 for DUKPT) and doing transactions (Master/Session key
message 70, Z60, Z62). If a 32 or 48 characters (16 or 24 byte) key is used, PP190 will treat all
transactions using this key as TDES enabled, else PP190 use DES operation.
TDES algorithm needs a 16-byte key, which separated as L-key (leftmost 8 bytes) and R-key
(rightmost 8 bytes). PP190 defaults EDE order for TDES encrypting operation as follows:
Clear Text
DES
encryption
via L-key
DES
decryption
via R-key
DES
encryption
via L-key
Ciphered
Text
EDE order of TDES operation 16 byte key. (Data decrypting process is the reverse of encrypting process.)
Clear Text
DES
encryption
via L-key
DES
decryption
via
Middle-key
DES
encryption
via R-key
Ciphered
Text
EDE order of TDES operation 24 byte key. (Data decrypting process is the reverse of encrypting process.)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page154
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
7. TDES ECB Encryption:
8. TDES CBC Encryption:
9. DES-MAC (ISO 9797-1 method 1)
D1
D2
TDES-E
TDES-E
K
K
DN
TDES-E
K
C1
C2
CN
D1
D2
TDES-E
TDES-E
K
K
DN
TDES-E
K
C1
C2
CN
IV
CN-1
D1
D2
DES-E
DES-E
K
K
DN
DES-E
K
C1
C2
CN
IV
CN-1
MAC
PIN Pad 190 Programmer’s Manual
2014-02-06
Page155
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
10. TDES MAC (ISO 9797-1 method 3)
D1
D2
DES-E
DES-E
KL
KL
DN
DES-E
KL
C1
C2
CN
IV
CN-1
DES-D
KR
DES-E
KL
MAC
PIN Pad 190 Programmer’s Manual
2014-02-06
Page156
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Appendix B PIN Block Format
ANSI x9.8 format (MK/SK, DUKPT, and Offline clear text PIN entry)
PP190 outputs ANSI X9.8 PIN blocks. Its format as follows:
PIN Block Format
Bit 0-3 4-7 8-11 12-15
16-19
20-23
24-27
28-31
32-35
36-39
40-43
44-47
48-51
52-55
56-59
60-63
Value
C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F
Bit field explanation:
C - Control field (Format number). Value = 0000 (Does not support Format 1 or Format 3)
N - PIN length entered field. Value = 0100 to 1100 (4-12) (0x4 0xC)
P - PIN digit. Value = 0000 to 1001 (0-9)
F - Fill digit. Value = 1111 (F)
P/F - Pin digit or fill digit, as determined by PIN Length N. PIN Length is 4 to 12
Primary Account Number Block (PANB) Format
Bit 0-3 4-7 8-11 12-15
16-19
20-23
24-27
28-31
32-35
36-39
40-43
44-47
48-51
52-55
56-59
60-63
Value
0 0 0 0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
Bit field explanation:
A - The twelve rightmost digits of the primary account number (PAN), excluding the check digit. A1 is the
most significant digit and A12 is the digit immediately preceding the PAN’s check digit. If the primary account
number excluding the check digit is less than twelve digits, the digits are right justified and padded on the left
with zeroes. Permissible values are 0000 to 1001.
0 - Pad digit = 0000. The first four digits of the account number block are always padded with this value.
Formatted Clear-Text PIN Block
The PIN and account number blocks are Exclusive ORed before being assembled in the DES (Data
Encryption Standard) input register. When the account number is not available, only the PIN block is
assembled in the DES input register. PP190 will output DES/TDES encrypted PIN block with message 71
and delete clear-text PIN block immediately after transaction completed.
Example:
Account Number: 1234567890-6 (6 is check number and will be ignored)
PIN: 8780
The PIN block = 04 87 80 FF FF FF FF FF
The PANB = 00 00 12 34 56 78 90 00
Formatted PIN block = 04 87 92 CB A9 87 6F FF (Data to be encrypted)
PIN Pad 190 Programmer’s Manual
2014-02-06
Page157
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Appendix C Fixed Prompts for Z2/Z3 authenticated mode
Prompt ID Display
001 ACCOUNT NUMBER
002 AIRCRAFT TAIL NO
003 BADGE NUMBER
004 CARD NUMBER
005 CARD SEC CODE
006 CASH BACK AMOUNT
007 CID CODE
008 CVC CODE
009 CVN CODE
010 CVV CODE
011 CUSTOMER CODE
012 CUSTOMER DATA
013 CUSTOMER ID
014 CUSTOMER NUMBER
015 CUSTOMER REF
016 CUSTOMER REF NO.
017 DATE OF BIRTH
018 DEPARTMENT NO.
019 DRIVER ID
020 DRIVER LICENSE
021 DRIVER NUMBER
022 EMPLOYEE ID
023 EMPLOYEE NUMBER
024 ENTER
025 ENTER ACCOUNT #
026 ENTER AIR TAIL #
027 ENTER BADGE #
028 ENTER BIRTH DATE
029 ENTER CARD #
030 ENTER CASH BACK
031 ENTER CUST #
032 ENTER CUST CODE
033 ENTER CUST DATA
034 ENTER CUST ID
Prompt ID Display
035 ENTER CUST REF
036 ENTER CUST REF #
037 ENTER CID CODE
038 ENTER CVC CODE
039 ENTER CVN CODE
040 ENTER CVV CODE
041 ENTER DEPT #
042 ENTER DOB
043 ENTER DRIVER #
044 ENTER DRIVER ID
045 ENTER DRIVER LIC
046 ENTER EMP ID
047 ENTER EMPLOYEE #
048 ENTER EXP DATE
049 ENTER FLEET #
050 ENTER FLEET DATA
051 ENTER HOME PHONE
052 ENTER ID #
053 ENTER JOB #
054 ENTER ODOMETER
055 ENTER PHONE #
056 ENTER PO #
057 ENTER REF #
058 ENTER ROUTE #
059 ENTER SEC CODE
060 ENTER SERIAL #
061 ENTER SOC SEC #
062 ENTER SSN
063 ENTER STREET #
064 ENTER TRAILER #
065 ENTER USER ID
066 ENTER V-CODE
067 ENTER VEH CARD #
068 ENTER VEHICLE #
PIN Pad 190 Programmer’s Manual
2014-02-06
Page158
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Prompt ID Display
069 ENTER VEHICLE ID
070 ENTER WORK PHONE
071 ENTER ZIP CODE
072 EXPIRATION DATE
073 FLEET DATA
074 FLEET NUMBER
075 HOME PHONE NO.
076 ID NUMBER
077 JOB NUMBER
078 MMDDYY
079 MMDDYYYY
080 MMYY
081 ODOMETER READING
082 OR PHONE #
083 OR PHONE NUMBER
084 PHONE NUMBER
085 PLEASE
086 PLEASE ENTER
087 PLEASE RE-ENTER
088 PO NUMBER
089 RE-ENTER
090 REFERENCE NUMBER
091 RESTRICTION CODE
092 ROUTE NUMBER
093 SECURITY CODE
094 SERIAL NUMBER
095 SOCIAL SEC NO.
096 STREET NUMBER
097 SWIPE CARD
098 SWIPE CARD OR
099 TRAILER NUMBER
100 USER ID
101 V-CODE
102 VEHICLE CARD NO.
103 VEHICLE ID
104 VEHICLE NUMBER
105 WORK PHONE NO.
Prompt ID Display
106 ZIP CODE
107 ENTER CARD
108 ENTER ST ADDRESS
109 STREET ADDRESS
110 SWIPE/TAP CARD
111 SWIPE/INSERT CRD
112 TAP/INSERT CARD
113 OR ENTER ACCT #
114 OR ENTER
115 TAP CARD
116 TAP CARD OR
117 INSERT CARD
118 INSERT CARD OR
119 SELECT CARD TYPE
120 CREDIT
121 DEBIT
122 EBT
123 GIFT
124 LOYALTY
125 GIFT/LOYALTY
126 HGM
127 STORED VALUE
128 GSB
129 ONECARD
130 GSB/ONECARD
PIN Pad 190 Programmer’s Manual
2014-02-06
Page159
Uniform Industrial Corp. Proprietary and Confidential Total 160 pages
Appendix D Fixed Prompts for Z2/Z3 PIN entry mode
Prompt ID Display
001 ENTER PIN
002 ENTER YOUR PIN
003 PLEASE ENTER PIN
004 THEN PRESS ENTER
005 THANK YOU

Navigation menu