ID Tech MiniSmart II Command Reference Manual

Secure smart card reader command interface

Advertisement

Quick Links

80161508-001
MiniSmart II
Secure Smart Card Reader
Command Interface
August 2, 2019
2018 Rev. C
ID TECH
10721 Walker Street, Cypress, CA90630 Voice: (714) 761-6368
Fax: (714) 761-8880

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the MiniSmart II and is the answer not in the manual?

Questions and answers

Summary of Contents for ID Tech MiniSmart II

  • Page 1 80161508-001 MiniSmart II Secure Smart Card Reader Command Interface August 2, 2019 2018 Rev. C ID TECH 10721 Walker Street, Cypress, CA90630 Voice: (714) 761-6368 Fax: (714) 761-8880...
  • Page 2 Warranty Disclaimer: The services and hardware are provided "as is" and "as-available" and the use of the services and hardware is at its own risk. ID TECH does not make, and hereby disclaims, any and all other express or implied warranties, including, but not limited to, warranties of merchantability, fitness for a particular purpose, title, and any warranties arising from a course of dealing, usage, or trade practice.
  • Page 3: Table Of Contents

    MiniSmart II Contents INTRODUCTION ..................................3 USB-HID INTERFACE ................................3 COMMAND/RESPONSE FORMAT ............................3 COMMANDS ....................................5 Default RS232 Group ................................14 Review RS232 Group ................................14 Smart Card Group (ICC EMV Level Two Task) – Function Command ................16 SETTING TRANSACTION PARAMETERS .........................
  • Page 4: Introduction

    Contact your ID TECH representative to learn more about the SDK, which is free for all customers. Also, be sure to check the ID TECH public Knowledge Base for additional documentation, utilities, demos, and software updates: https://atlassian.idtechproducts.com/confluence/display/KB/MiniSmart+II+-+downloads...
  • Page 5 USB-HID Report 0 of length 64, with the first byte of the report set to the length of the data being sent. The USB-HID response from the MiniSmart II is: 21 02 1b 00 06 49 44 20 54 45 43 48 20 4d 69 6e 69 53 6d 61 72 74 20 49...
  • Page 6: Commands

    MiniSmart II Commands The following table lists the commands supported by the device, in alphabetical order (by command name). Documentation of individual commands begins after the table. Command Summary Table (Alphabetical by Command Name) Command Name 72 46 05 02...
  • Page 7 MiniSmart II 72 46 08 02 Get Internal EMV Level Two Version Number 78 31 Get Internal Firmware Version 78 46 30 Get Key Status 72 52 01 01 Get Key Type for Data encryption Key (ICC DUKPT Key) 78 46 20...
  • Page 8 MiniSmart II 70 53 01 41 01 Set Baud Rate 72 53 01 22 01 Set BCD Mask Data 72 46 04 03 Set CA Public Key 72 53 01 04 01 Set Card Type Option 72 46 85 03...
  • Page 9 MiniSmart II Load Key Command Body is 78 46 F3 <Length of Data> <Length of Encrypted Key ANS.1 Structure> <Encrypted Key ANS.1 Structure> <Length of LCL-KEK KSN> <LCL-KEK KSN> Where: <Length of Data> is 2 bytes, format is Len_L Len_H, is length of <Length of Encrypted Key ANS.1 Structure>...
  • Page 10 MiniSmart II Get Serial Number Command Body is 78 46 02 Response Body is 06 + 10 bytes ASCII code Serial Number, or: 15 62 00 – No Serial Number Get Model Number Command Body is 78 46 20 Response Body is 06 + Model Number Where: Model Number is “MINI2-5X”...
  • Page 11 MiniSmart II Response Body is 06 + PIN DUKPT Status + PIN Master Key Status + PIN Session Key Status + Data encryption Key Status + Data encryption Key Status + RKI-KEK Where: Status Note 0: None. Does not support this key.
  • Page 12 MiniSmart II Set Remote Key Injection Timeout Command Body is 78 53 01 01 02 <Timeout_H> <Timeout_L> Where: <Timeout_H> <Timeout_L> need be 120 seconds ~ 3600 seconds Response Body is 06 Get Remote Key Injection Timeout Command Body is 78 52 01 01 Response Body is 06 78 01 01 02 <Timeout_H>...
  • Page 13 MiniSmart II Where: <Data Time> is 6 bytes data – Year, Month, Date, Hour, Minute, Second Set Idle waiting time Command Body is 78 53 01 05 01 <Time> Where: <Time> is 0 or 2 seconds ~ 60 seconds (Default is 2 seconds)
  • Page 14 MiniSmart II 19200 38400 115200 Response Body is 06 Note: Device will use new baud rate after it responds 0x06. Get Baud Rate Command Body is 70 52 01 41 Response Body is 06 70 01 41 01 ASCIIChar...
  • Page 15: Default Rs232 Group

    MiniSmart II Get Data Bits Command Body is 70 52 01 42 Response Body is 06 70 01 42 01 38 (8 bits Data) Get Parity Command Body is 70 52 01 43 Response Body is 06 70 01 43 01 30 (None)
  • Page 16 MiniSmart II Smart Card Group (ICC EMV Level One Task) – Function Command Get ICC Reader Status Command Body is 72 46 24 Response Body is 06 + <Reader status> (1 byte) Bit Position ‘0’ ‘1’ ICC Power not ready...
  • Page 17: Smart Card Group (Icc Emv Level Two Task) - Function Command

    Requires L2 kernel on device. Setting transaction parameters 1. Send Set Application Data Command 2. Send Set Terminal Data Command MiniSmart II Support 2C configuration, below are Terminal Data Value for 2C configuration. Manufacture need set it. Item Terminal Data (TLV format)
  • Page 18 MiniSmart II 4. Send Set Certification Revocation List command Transaction Flow Reader Host Start transaction command offline Offline Example:72 46 05 01…… Start transaction response Example:06 00 10 00 <TLVs> If MSR operation , response MSR data, and transaction is finished Authentication transaction command Example:72 46 05 02……...
  • Page 19 MiniSmart II Retrieve Application Data Command Body is 72 46 01 01 <LenL> <LenH> <5~16 bytes AID> Where: <LenL> <LenH> is the length of AID Response Body is 06 <TagCounterL> <TagCounterH> <TLV1> <TLV2>…<TLVn> or 15<ErrorCode>. Where: <TagCounterL> <TagCounterH> is the number of <TLV>...
  • Page 20 MiniSmart II Retrieve Terminal Data Command Body is 72 46 02 01 Response Body is 06 <TagCounterL> <TagCounterH> <TLV1> <TLV2>…<TLVn> or 15<ErrorCode> Where: <TagCounterL> <TagCounterH> is the number of <TLV> If Terminal Data does not exist, response 15 F2 01...
  • Page 21 MiniSmart II Retrieve CA Public Key Command Body is 72 46 04 01<5 bytes RID> <1 byte Index>. Response Body is 06 <5 bytes RID> <1 byte Index> <1 byte Hash Algorithm> <1 byte Encryption Algorithm> <20 bytes HashValue> <4 bytes Public Key Exponent> <2 bytes Modulus Length>...
  • Page 22 MiniSmart II <Modulus Length>: <LenL> <LenH> Indicated the length of the next field. <Modulus>: This is the modulus field of the public key. Its length is specified in the field above. <2Bytes MAC Length> is 2 bytes data – Fix is 0x00 0x00...
  • Page 23 MiniSmart II Second return: 06 <Response Code> <Attribution> <Output Data List> (All response except that MSR Fall Back). Or 06 <Response Code> <Output Data List> (MSR Fall Back response) Where: <Response Code> length is 2Bytes. Please refer to “Response Code” Section <Attribution>: 1 Byte:...
  • Page 24 MiniSmart II Note: If command format error, terminal will response 15 F2 09 If an Option tag is not occurred in the Option Data List, the tag in output TLV list will not occur all the same. If the tag ‘9f10’ and ‘9f26’ have value in the terminal, they will also occur in the command response TLV list.
  • Page 25 MiniSmart II Tags Example: “9F02, 9F36, 95, 9F37” means total 4 tags (9F02, 9F36, 95, 9F37) reqested to in response. Length is 7bytes. Response Body is 06 <TLV1> <TLV2> … <TLVn>. For details please refer to P127 of EMV4.3 book3.
  • Page 26 MiniSmart II Retrieve Terminal Identification Command Body is 72 46 87 01 Response Body is 06 <Identification> Set Terminal Identification Command Body is 72 46 87 03 <Identification> Note: <Identification> 8 bytes ‘0’ ~ ‘9’, or ‘a’ ~ ‘z’, or ‘A’ ~ ‘Z’...
  • Page 27 Command Body is 72 46 09 02 Response Body is 06 <20 bytes L2 Configuration Check Value> Note: MiniSmart II Support 2C configuration. Get ICC L2 AID List Check Value Command Body is 72 46 09 13 Response Body is 06 <32 bytes L2 AID List Check Value>...
  • Page 28 MiniSmart II yy.zzz is internal version number. Version number is start from0.99.001 Remove Transaction Amount Log Command Body is 72 46 0A 02 Response Body is 06 Smart Card Group (ICC EMV Level Two Task) – Output / Input Directly Driver Output Body Output Body Format 49 72 <DriverID>...
  • Page 29 MiniSmart II • Length Display Message Control - 2 bytes (Little-endian) • Display Message Control: repeatable combination of <Line> <Message> <0x1C> <Line> - Display line number (1-First Line, n-nth Line), Maximum 16 lines. The lower 7 bits is for line number.
  • Page 30: Smart Card Group - Set/Get Commands Misc

    MiniSmart II • If Menu Display, Length of Menu value (If Normal Display, Length of Key (Get Function)) • If Menu Display, Menu value, sequence number of selected line, hex format (If Normal Display, ASCII format (‘E’ is Enter, ‘C’ is Cancel)) Get MSR Data control Output Body is 49 72 03 <Len_L of Control Data>...
  • Page 31 MiniSmart II Key Type Option Data type Key 0x00 PIN type Key 0x01 Note: ICC Group (Task) only support A Fun of Setting/Review command except for Default All & Review All. Response Body is 06 Get Key Type for Data encryption Key (ICC DUKPT Key) Command Body is 72 52 01 01 Response Body is 06 72 01 01 01 <Option>...
  • Page 32 MiniSmart II Get Card Type Option Command Body is 72 52 01 04 Response Body is 06 72 01 04 01 <Option> Set ICC L1 Transaction Timeout Command Body is 72 53 01 05 01 <Timeout> Where: <Timeout> is 1 byte. Value is 8 seconds ~ 90 Seconds...
  • Page 33 MiniSmart II CTL2Interval Value Definition No Delay 30 ~ 100 300ms ~ 1000ms Example: 72 53 01 2F 01 50 sets the delay to 800 msec (0x50 * 10 msec) Set Pre/Post PAN Data Len Command Body is 72 53 01 20 02 <PrePANCtlDataLen> <PostPANCtlDataLen>...
  • Page 34 MiniSmart II Get BCD Mask Data Command Body is 72 52 01 22 Response Body is 06 72 01 22 01 <BCDMaskData> Default ICC Group All Setting Command Body is 72 53 00 Response Body is 06 Below Setting should be reset to default value:...
  • Page 35 MiniSmart II <NAK> <Error Code> Where: <20 bytes ASCII code KSN of RKI-KEK> is 10 bytes KSN – It is KSN. <10 bytes Serial Number> is set by itself command listed in Command Set File. <16 bytes ASCII code Authentication Code 1> is 8 bytes Authentication Code 1 8 bytes Authentication Code 1 is 8 bytes Random generated by POS Device.
  • Page 36: Block Data Format Is: Kbh + Kbh_Ob (Optional Block) + Ascii Code Result + Ascii Code Mac Data

    MiniSmart II Data Key of RKI-KEK), and 4 bytes MAC is generated from data (detailed in below) encrypted with KBMK (generated from KBPK, KBPK is generated from Data Key of RKI-KEK). (KSN of RKI-KEK is advanced to next KSN. Refered as next-KSN hereafter.
  • Page 37: Firmware Updating

    (Such as 01 10 + “Version 0.99.003” ) <Tag 0x02> data: 02 < x> <x bytes Device Name Data> (Such as 01 0E + “Smart PIN L100”, or 01 0C + “MiniSmart II”) <Taq 0x03> data: 03 04 <Bootloader Version Number data>...
  • Page 38: Definitions

    MiniSmart II Definitions Block 0 Data 1. This Block data are 64 bytes data - FM File Format Definition 2. The Format is: <6 byte PCI , NONPCI> <1 byte File Type> <1 byte Mode> <2 byte file descriptor length> <2 byte block head size (byte)> <2 byte block tail size (byte)> <2 byte Package size (in byte)>...
  • Page 39: Block 3 Data

    MiniSmart II 2. The definition: This Check Value is calculated from Full Packets Data of BIN File. If Full Data of BIN File (For Generating FM File) are not enough for Full Packages Data, FM File Generator Tool will Pad 0xFF to calculate the Check Value.
  • Page 40: Device Examples

     <Tag 0x00> data: 00 <Len-32> <Sha-2 Signature Data 2>  <Tag 0x02> data: 02 <Len x> <x bytes Device Name Data> (Such as 02 0E + “Smart PIN L100”, or 01 0C + “MiniSmart II”)  BASE1 Data needs to be equal to BASE Data...
  • Page 41: Bootloader Status - Process

    MiniSmart II  Device without any Display Part, No Indictor. Bootloader Status - Process After entering into Bootloader mode, get status to determine device encryption, firmware packet size, and packet/block to start/resume the transmission on. Command Body: 78 46 11 Response Body: (Fix 28 bytes data): 06 <’Bootloader FW ‘>...
  • Page 42 MiniSmart II 42 <4 bytes Flash Start Address of this Package Data> <m bytes Data>  <4 bytes Flash Start Address of this Package Data>(Little Endian Mode)  m will be 1024 or 2048…… Type3 – The latest 256 bytes Block 4 Data 42 FF FF FF FF <256bytes Data>...
  • Page 43: Bootloader Error Codes

    MiniSmart II Bootloader Error Codes Error Codes Definition Software Process 0x5030 Timeout in Work State 1. Device Pause Bootloader function quit Bootloader Status and run in Application Status. 0x5031 For PCI device: Bootloader need send data Timeout in Work State 2. Device from Block 1 Data.
  • Page 44 MiniSmart II General Error Codes Error Code Definition 0x0400 Related Key was not loaded Non-SRED Device needs Load Manufacture Key, Firmware Key, 0x0410 and Check Values 0x0500 Key Same / Duplicate key detected 0x0702 PAN is Error 0x0D00 This Key was loaded...
  • Page 45 MiniSmart II 0x8200 Wrong operate step 0x2C02 No Microprocessor ICC seated 0x2C06 No card seated to request ATR 0x8B10 ICC error on power-up 0xE313 IO line low -- Card error after session start 0x9042 Invalid LCL-KEK 0x9046 Invalid Data encryption Key...
  • Page 46 MiniSmart II LCD Foreign Language Mapping Table Some EMV responses include message IDs for messages that should be displayed on the POS, tablet, or LCD-equipped device. Consult the following table for those messages. Note that the ID (leftmost column) is decimal (not hex) notation.
  • Page 47: Response Codes

    MiniSmart II Response Codes Response Code(2Bytes) Display on the LCD 0x00,0x00 APPROVED (offline) 0x00,0x01 DECLINED(offline) 0x00,0x02 APPROVED 0x00,0x03 DECLINED 0x00,0x04 GO ONLINE 0x00,0x05 CALL YOUR BANK 0x00,0x06 NOT ACCEPTED 0x00,0x07 USE MAGSTRIPE 0x00,0x08 TIME OUT 0x00,0x10 (start transaction success) 0x00,0x11...
  • Page 48 MiniSmart II (SMARTCARD_TIMEOUT) 0x30,0x07 TERMINATE (MSR_CARD_ERROR) 0x50, 0x01 TERMINATE (PARSING_TAGS_FAILED) 0x50, 0x02 TERMINATE (CARD_DATA_ELEMENT_DUPLICATE) 0x50, 0x03 TERMINATE (DATA_FORMAT_INCORRECT) 0x50,0x04 NOT_ACCEPTED (APP_NO_TERM) 0x50, 0x05 NOT_ACCEPTED (APP_NO_MATCHING) 0x50,0x06 TERMINATE (MANDATORY_OBJECT_MISSING) 0x50, 0x07 TERMINATE (APP_SELECTION_RETRY) 0x50, 0x08 TERMINATE (AMOUNT_ERROR_GET) 0x50, 0x09 TERMINATE (CARD_REJECTED)
  • Page 49 MiniSmart II (USER_LANGUAGE_SELECTED) 0x50, 0x21 NOT_ACCEPTED (SERVICE_NOT_ALLOWED) 0x50, 0x22 TERMINATE (NO_TAG_FOUND) 0x50, 0x23 TERMINATE (CARD_BLOCKED) 0x50, 0x24 TERMINATE (LEN_INCORRECT) 0x50, 0x25 TERMINATE (CARD_COM_ERROR) 0x50, 0x26 TERMINATE (TSC_NOT_INCREASED) 0x50, 0x27 TERMINATE (HASH_INCORRECT) 0x50, 0x28 TERMINATE (ARC_NOT_PRESENCED) 0x50, 0x29 TERMINATE (ARC_INVALID) 0x50, 0x30...
  • Page 50: Note

    MiniSmart II (CVM_COND_CODE_IS_NOT_SUPPORTED) 0x60, 0x07 TERMINATE (CVM_NO_MORE) 0x60, 0x08 TERMINATE (PIN_BYPASSED_BEFORE) Error Result Code TERMINATE Note: First response byte format: Bit 0 --- if transaction have advice, this bit is 1. Bit 1 --- if transaction have reversal, this bit is 1.
  • Page 51: Timings: General Purpose Commands

    MiniSmart II Timings: General Purpose Commands Response Description Specific description Send Response Data Time (ms) General Purpose Commands 02 1A 00 06 49 44 54 45 43 48 Get Firmware 20 4D 69 6E 69 Release 78 46 01 53 6D 61 72 74...
  • Page 52 MiniSmart II Smart Card Group (ICC EMV Level 06 + <Reader status> (1 byte) Get ICC 02 02 00 06 00 no seated no 72 46 24 Reader Status 06 06 03 power on seated but no 02 02 00 06 02...
  • Page 53 MiniSmart II Command Body is 72 53 01 22 01 <BCDMaskData> Where: <BCDMaskData> can be can be 0x0A~0x0F, Default is 0x0C(*). Note: Set BCD Mask 72 53 01 22 02 01 00 06 06 Data l If 0x23 will be masked High...
  • Page 54 MiniSmart II Get Card Type 02 06 00 06 72 06 72 01 04 01 <Option> 72 52 01 04 01 04 01 0 Option Set ICC L1 72 53 01 05 02 06 00 06 72 Transaction 01 <Timeou...
  • Page 55 MiniSmart II 02 03 00 15 E3 IO line low -- Card error 72 46 62 13 E5 0B 0 depend on Exchange 72 46 41 <C- 06 + 00 + <R- 72 46 41 <C-APDU> APDU length and APDU Plaintext APDU>...
  • Page 56 MiniSmart II If a <TLV> format was error, response 15 - F2 02 -If AID List has full (MAX is 16), response 15 F2 03 application Command Body is 72 46 01 04 data existed: Remove All Application Response Body is 06...
  • Page 57 MiniSmart II l <Modulus Length>: <LenL> <LenH> Indicated the length of the next field. l <Modulus>: This is the modulus field of the public key. Its length is specified in the field above. Note: If CA Key RID does not exist, response 15 F2 05 If CA Key Index does not exist, response 15 F2 06 Command Body is 72 46 04 02 <5 bytes RID>...
  • Page 58 MiniSmart II MSR, 0x00 indicate it not support FallBack. Card :2.9sc <TimeOut1> (2 bytes, unit is Second). Timeout for Card is RCTP seated. International <TimeOut2> (2 bytes, unit is Second). Waiting time till Maestro T = “Authenticate Transaction” command. 1: 5.4sc <App Data>...
  • Page 59 MiniSmart II <Attribution>: 1 Byte: Card l BIT0 – Card Type: 0 – Contact Card Test:639 l BIT2,1 – Encryption Mode: 00 – TDES Mode, 01 – AES RCTP Visa Mode Electron T = l BIT7~3 - Reserve 1 Card:644...
  • Page 60 MiniSmart II MasterCard Debit Test Card:562 Command Body is 72 46 06. Response Body is 06. Retrieve Transaction Result Command Body is 72 46 07 01<2 Byte Length><Tags>. <2 Byte Length>format is<LenL><LenH>,is the length of <Tags>. <Tags> these tags will return TLV format. Supported tags refer to “Option Data List”...
  • Page 61 Command Body is 72 46 09 02 Get ICC L2 Configuration Response Body is 06 <20 bytes L2 Configuration Check Check Value Value> Note: Panasonic MiniSmart II Support 4C configuration. Command Body is 72 46 0A 02 Remove Transaction Amount Log Response Body is 06...
  • Page 62 MiniSmart II EMV Tags Most of the following tags are industry-standard EMVCo tags. Three-byte tags (e.g. DFEE15) are ID TECH proprietary. Description Format Length 5F2A Transaction Currency Code (Default: 08 40) 5F36 Transaction Currency Exponent 5F57 Account Type Selection Authorization Response Code...
  • Page 63 MiniSmart II Byte 3 Meaning Card capture 9F34 Cardholder Verification Method (CVM) Results 9F35 Terminal Type (Default: 22 ) Environment Financial Merchant Cardholder Institution Attended Online only Offline with online capability Offline only Unattended Online only Offline with online capability...
  • Page 64 MiniSmart II Numeric keys Alphabetic and special characters keys Command keys Function Keys Byte 4 Meaning Print, attendant Print, cardholder Display, attendant Display, cardholder Code table Code table 9 Byte 5 Meaning Code table 8 Code table 7 Code table 6...
  • Page 65 MiniSmart II DF17 Threshold Value for Biased Random Selection DF18 Target Percentage to be Used for Random Selection DF19 Maximum Target Percentage to be used for Biased Random Selection DF21 1~128 Issuer Script Results DF22 Force Online 0  Disable 1 ...
  • Page 66 MiniSmart II Manual action when CA PK loading fails CA PK verified with check sum Bypass PIN Entry Subsequent bypass PIN Entry Get data for pin try counter Byte 4 Meaning Amount before CVM processing Floor limit checking Random transaction...
  • Page 67 MiniSmart II Advices support Issuer referrals support Batch data capture Online data capture Default TDOL Byte 7 Meaning amount and pin entered on the same keypad ICC/Magstripe reader combined Magstripe read first Support account type selection On fly script processing...
  • Page 68 MiniSmart II Date Change 3/2/2016 Original document (KT) 5/27/2016 Added command table (consolidated list, alphabetical). Added commands 72 46 09 13 and 72 46 09 14 (Get ICC L2 AID List Check Value and Get ICC L2 CA Public Key Check Value).

Table of Contents