CloudPOS SDK
  • CloudPOS SDK
    • EMV Develop Spec
    • Scanning Service Usage
    • API Specification
    • CloudPOS SDK AAR
    • Java API Samples
    • Permissions
    • Error code
    • MDB Communication Protocal
  • POS_Specs
  • FAQ
    • SDK Error Collection
      • Printer
      • PINPAD
      • Contactless Card
      • IC Card
      • MSR Card
    • Hardware/Repair
      • Recover a Tampered Terminal
      • Learning Tampered Events
      • Remotely Reactivate from Tamper
      • TF (Micro SD) Card Suggestion
      • Understand Tamper Reason
    • Printer
      • Verify Terminal Printer Status
      • Print Unsupported Character Sets
      • Use Terminal Bluetooth Printer
      • Print Images
      • Print QR Codes
      • Evaluate HTML Print Performance
      • Evaluate Print Performance
      • Print with TM T88IV
      • Replace HTML Print Font
      • Java API Printer Operations
      • Understanding Image Print Gaps
      • Print with JavaScript
      • Verify Printer Paper Status
    • USB/Serial Port
      • Install Terminal USB Drivers
      • Install UU Cable Driver
      • Reinstall Production Serial Drivers
      • Linux Serial Driver Installation
      • Serial Port Development
      • Add Linux Udev Rules
      • ReOpen Serial after Wake-up
      • Close Serial after Disconnect
      • Connect Accessory Mode
      • Detect UU Cable Connnected
      • Control Fan via Serial Port
      • List Connected USB Devices
      • Accessory Agent Service D22/Q3
    • Firmware
      • Update Firmware
      • Understand Firmware Naming
      • Compare Engineer/User Modes
      • Configure POS Home Settings
      • Configure POS System Settings
      • Prevent Accidental App Uninstallation
      • Troubleshoot "Agent Stopped" Error
      • Resolve Forgotten Lock Password
      • Utilize Q1 Buttons
      • Adapt Q1 4G
      • Customize Boot Logo/Animation
      • Set Wallpaper
      • Activate Startup Special Mode
      • Install Browsers
      • Understand Firmware External Access
      • Get Terminal Firmware Modes
      • Write Customer Serial Numbers
      • Enable Touch Screen Wake-Up
      • Set User System Properties
      • Enable and Disable MTP
      • Update POS WebView
      • Disable File Explorer for TF/Pendrives
      • Manage Screen On/Off
      • Disable notification badges
      • Scheduled Terminal Reboot Setup
    • Settings Menu
      • Perform Factory Data Reset
      • Understand Settings Menus
      • View Terminal Certificate List
      • Understand Merchant Self Test
      • Use Network Self-Test
      • Change System Language
      • Log in as Administrator
      • Change Administrator's Login Password
      • Update Terminal Time
      • Update Terminal Time Zone
      • Update Time Zone from IP
      • Enable Settings Menu Role Control
      • Update Role Passwords API
      • Disable Bluetooth/Wi Fi
      • Enable/Disable Auto Time Zone
      • Enable/Disable Automatic Time
      • Set Display Sleep
      • Grant Accessibility Permission Automatically
      • Disable Security Lock
      • Access Settings Sub Menu
      • Set Language API
    • Battery/Power
      • Understand Special Charging Indicator
      • Preserve Terminal Battery Life
      • Understand Q2 Low-voltage Shutdown
      • Understand Terminal Battery Performance
      • Understand Counter Mode
      • Turn Off Terminal API
    • SIM/Ethenet/WIFI
      • Disable POS Hotspot
      • Activate POS Hotspot
      • Retrieve Terminal IMEI Number
      • Retrieve Terminal MEID Number
      • Understand Modem Bands
      • Troubleshoot Terminal SIM Signal
      • Resolve SIM Network Issues
      • Troubleshoot Network Search Error
      • Check eSIM Status
      • Ethernet Connectivity Usage
      • Set Communication Mode
      • Troubleshoot USSD Issues
      • Set Preferred Network Type API
      • Add APN API
      • Set Static Ethernet API
      • Enable/Disable Mobile Data API
      • Set Network Operators API
      • Activate eSIM
      • Enable/Disable Ethernet
    • Certificate
      • Apply App Certificates
      • Renew App Certificate
      • App Installation Controls
      • Install CA Certificates
      • Clear Terminal Certificates
      • Understand Certificate Visibility
    • Card
      • Contactless Card Distance
      • NFC Buffer Size Understanding
      • Use Contactless CPU Card
      • Use Felica Card
      • Use Mifare Card
      • Understand PSAM Card Exceptions
      • Optimal Tap Positioning Guide
    • FingerPrint
      • Fingerprint Module Usage Guide
      • Fingerprint DPI Specifications
      • Fingerprint Data Formats
    • Other Development
      • New Android Studio Versions
      • Setup ANDROID HOME
      • App Signing Process
      • Install POS Applications
      • Create First Android App
      • Retrieve Terminal Logs
      • Resolve APK Signature Conflict
      • Obtain Unfiltered Full Log
      • Obtain Terminal Current Location
      • Use Terminal Camera
      • Get Test APKs
      • Learn ADB Commands
      • Get Advanced Demos
      • Import Java SDK in C
      • Obtain Signal Strength
      • Get D3 Demos
      • Learn Kiosk Mode
      • Block Status Bar API
      • Display Full-Screen API
      • Display Full Screen Android API
      • Disable Home Key
      • Capture Power Button API
      • Retrieve Terminal Info
      • Save Files Locally
      • Set Default Launcher
      • Get Firmware Version
      • Get Firmware&EMV Version
      • Implement TLSv1.3
      • Auto-Run Post-Install
      • Understand Secure Connections
      • Use AnyDesk
      • Export Database to SD
      • Migrate App to Q2Premium
      • Auto-Run App Post-Boot
      • Integrate Java SDK in Flutter
      • Call AIDL Interface
      • Connect wirelessly
      • Get POS SN
      • UPT development-related
      • Q3 PDA Terminal Barcode Scanner
    • Key Injection
      • Inject Test Keys Remotely
      • Understand DUKPT
      • Understand Master&Session Keys
      • Use TMK KeyLoader POS
      • Understand Remote Key Injection
      • Resolve Serial Timeout
      • Import TMK Error: 74496
    • PINPAD
      • PINPAD Configuration Summary
      • Customize PINPAD GUI
    • TMS/Wizarview
      • TMS Overview
      • TMS User Guide
      • Register Terminal to WizarView
      • Accept TMS File Downloads
      • Handle User Locked Status
      • Apply WizarView Account
      • Batch Import Terminals
      • Unbind App Configuration
      • Remove App via TMS
      • Understand Agent Error Codes
      • Understand TMS IP Ports
      • Understand Update Scenarios
      • Understand App Binding Types
      • Apply RMA Maintenance Account
      • Update Firmware Remotely
      • Push APK to Specific Device
      • Set Agent Working Mode
      • Manage APK Prompt Installation
      • Network Control in Agent
      • Push Apps Using Tags
      • Deploy AID/CAPK via TMS
    • EMV
      • What's Tag91
      • What's CAPK
      • Set Issuer Scripts
      • Resolve Detection Priority Conflict
  • Wizarview Open API
Powered by GitBook
On this page
  • Overview
  • Prerequisites
  • Steps to Generate a Private Keystore
  • Generating and Sending CSR (Certificate Signing Request)
  • Import the Certificate Chain
  • FAQ
  • Country Name Codes
  1. FAQ
  2. Certificate

Apply App Certificates

PreviousCertificateNextRenew App Certificate

Last updated 9 months ago

Overview

In WizarPOS terminals, app installation requires APK signature verification through the root certificate chain, in addition to the standard Android signature check. Only APKs signed with the root certificate or a child certificate are permitted. Developers must obtain a signing certificate from WizarPOS. Refer to for detailed application procedures.

Prerequisites

  • A PC with Java Development Kit (JDK) installed.

  • Use the 'keytool' command in the JDK.

Important Notice: In the follow up keytool commands, the keystore name(*.jks) should be same name.

Steps to Generate a Private Keystore

 keytool -genkeypair -keystore demo.jks -keyalg RSA -keysize 2048 -alias androiddebugkey -dname "EMAILADDRESS=myname@abc.com, CN=MyName, OU=RD, O=ABC company, L=Shanghai, ST=Shanghai, C=CN"
  • Ensure the domain name reflects your company's actual information.

Field
Value
Descrip tion

CN

Common name

developer name or project name

OU

Organization unit

Department name

O

Organization

Company name

L

Locality name

ST

state or province name

C

Country name codes

  • Set the 'EMAILADDRESS' to your company's official email.

  • For use in Eclipse as a custom debug keystore, set the alias to “androiddebugkey” and password to “android”. Otherwise, choose any alias and password.

Generating and Sending CSR (Certificate Signing Request)

  • Export CSR:

    • Follow the standard procedure to generate a CSR using keytool.

 keytool -certreq -keystore demo.jks -alias androiddebugkey > demo.csr
  • Submit CSR to WizarPOS:

    • Email the CSR with the following details:

      • Sales Person: Name of your WizarPOS contact.

      • Company Name: Your company's name.

      • Attachment: Include the CSR file.

    • Send to: WizarPOS sales staff (add first), support@wizarpos.com, team.support@wizarpos.com.

Import the Certificate Chain

Save the WizarPOS reply (in *.crt or *.pem format) in the same folder as your keystore file.:

 keytool -importcert -keystore demo.jks -file file-name-of-CSR-reply -alias androiddebugkey
  • Store the Certificate File:

    • Save the *.pem file from WizarPOS's reply in the same directory as your keystore (jks) file. The filename will be as specified in the WizarPOS reply, referred to here as 'file-name-of-CSR-reply'.

  • Import the Certificate Chain:

    • Use the appropriate tool to import the certificate chain file into your keystore.

    • During the import process, when prompted to trust the certificate, select "Yes" or the equivalent affirmative option in your language.

FAQ

Keytool Access

  • Location: 'keytool.exe' is found in the JRE directory, typically 'XXX/Java/jreXXX/bin'.

  • Usage:

    • If the 'JAVA_HOME' environment variable is set, 'keytool' can be run from any directory.

    • Without 'JAVA_HOME' set, you must navigate to the JRE directory to execute 'keytool' commands.

Resolving Keysize Issues during Keypair Generation

  • Solution:

    • Download the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for your Java version:

    • Copy 'local_policy.jar' and 'US_export_policy.jar' into '$JAVA_HOME/jre/lib/security'.

CSR (Certificate Signing Request) Validation

  • Procedure:

    • Open the exported CSR in Notepad.

    • A valid CSR begins with "-----BEGIN NEW CERTIFICATE REQUEST-----" and ends with "-----END NEW CERTIFICATE REQUEST-----", with content in between.

    • If the CSR contains only an error message, address the specified issue as per the message.

Handling Expired Certificates

  • Renewal Process:

    • Email the expired certificate to support@wizarpos.com for renewal.

    • WizarPOS support will send back the renewed certificate.

    • Import the renewed certificate into the keystore that holds the expired certificate.

Country Name Codes

List of 2 letter country codes.

  • AF - Afghanistan

  • AX - Aland Islands

  • AL - Albania

  • DZ - Algeria

  • AS - American Samoa

  • AD - Andorra

  • AO - Angola

  • AI - Anguilla

  • AQ - Antarctica

  • AG - Antigua and Barbuda

  • AR - Argentin a

  • AM - Armenia

  • AW - Aruba

  • AC - Ascension Island

  • AU - Australia

  • AT - Austria

  • AZ - Azerbaijan

  • BS - Bahamas

  • BH - Bahrain

  • BB - Barbados

  • BD - Bangladesh

  • BY - Belarus

  • BE - Belgium

  • BZ - Belize

  • BJ - Benin

  • BM - Bermuda

  • BT - Bhutan

  • BW - Botswana

  • BO - Bolivia

  • BA - Bosnia and Herzegovin a

  • BV - Bouvet Island

  • BR - Brazil

  • IO - British Indian Ocean Territory

  • BN - Brunei Darussalam

  • BG - Bulgaria

  • BF - Burkin a Faso

  • BI - Burundi

  • KH - Cambodia

  • CM - Cameroon

  • CA - Canada

  • CV - Cape Verde

  • KY - Cayman Islands

  • CF - Central African Republic

  • TD - Chad

  • CL - Chile

  • CN - Chin a

  • CX - Christmas Island

  • CC - Cocos (Keeling) Islands

  • CO - Colombia

  • KM - Comoros

  • CG - Congo

  • CD - Congo, Democratic Republic

  • CK - Cook Islands

  • CR - Costa Rica

  • CI - Cote D'Ivoire (Ivory Coast)

  • HR - Croatia (Hrvatska)

  • CU - Cuba

  • CY - Cyprus

  • CZ - Czech Republic

  • CS - Czechoslovakia (former)

  • DK - Denmark

  • DJ - Djibouti

  • DM - Dominica

  • DO - Dominican Republic

  • TP - East Timor

  • EC - Ecuador

  • EG - Egypt

  • SV - El Salvador

  • GQ - Equatorial Guinea

  • ER - Eritrea

  • EE - Estonia

  • ET - Ethiopia

  • FK - Falkland Islands (Malvin as)

  • FO - Faroe Islands

  • FJ - Fiji

  • FI - Finland

  • FR - France

  • FX - France, Metropolitan

  • GF - French Guiana

  • PF - French Polynesia

  • TF - French Southern Territories

  • MK - F.Y.R.O.M. (Macedonia)

  • GA - Gabon

  • GM - Gambia

  • GE - Georgia

  • DE - Germany

  • GH - Ghana

  • GI - Gibraltar

  • GB - Great Britain (UK)

  • GR - Greece

  • GL - Greenland

  • GD - Grenada

  • GP - Guadeloupe

  • GU - Guam

  • GT - Guatemala

  • GN - Guinea

  • GW - Guinea-Bissau

  • GY - Guyana

  • HT - Haiti

  • HM - Heard and McDonald Islands

  • HN - Honduras

  • HK - Hong Kong

  • HU - Hungary

  • IS - Iceland

  • IN - India

  • ID - Indonesia

  • IR - Iran

  • IQ - Iraq

  • IE - Ireland

  • IL - Israel

  • IM - Isle of Man

  • IT - Italy

  • JE - Jersey

  • JM - Jamaica

  • JP - Japan

  • JO - Jordan

  • KZ - Kazakhstan

  • KE - Kenya

  • KI - Kiribati

  • KP - Korea (North)

  • KR - Korea (South)

  • KW - Kuwait

  • KG - Kyrgyzstan

  • LA - Laos

  • LV - Latvia

  • LB - Lebanon

  • LI - Liechtenstein

  • LR - Liberia

  • LY - Libya

  • LS - Lesotho

  • LT - Lithuania

  • LU - Luxembourg

  • MO - Macau

  • MG - Madagascar

  • MW - Malawi

  • MY - Malaysia

  • MV - Maldives

  • ML - Mali

  • MT - Malta

  • MH - Marshall Islands

  • MQ - Martinique

  • MR - Mauritania

  • MU - Mauritius

  • YT - Mayotte

  • MX - Mexico

  • FM - Micronesia

  • MD - Moldova

  • MC - Monaco

  • ME - Montenegro

  • MS - Montserrat

  • MA - Morocco

  • MZ - Mozambique

  • MM - Myanmar

  • NA - Namibia

  • NR - Nauru

  • NP - Nepal

  • NL - Netherlands

  • AN - Netherlands Antilles

  • NT - Neutral Zone

  • NC - New Caledonia

  • NZ - New Zealand (Aotearoa)

  • NI - Nicaragua

  • NE - Niger

  • NG - Nigeria

  • NU - Niue

  • NF - Norfolk Island

  • MP - Northern Mariana Islands

  • NO - Norway

  • OM - Oman

  • PK - Pakistan

  • PW - Palau

  • PS - Palestinian Territory, Occupied

  • PA - Panama

  • PG - Papua New Guinea

  • PY - Paraguay

  • PE - Peru

  • PH - Philippines

  • PN - Pitcairn

  • PL - Poland

  • PT - Portugal

  • PR - Puerto Rico

  • QA - Qatar

  • RE - Reunion

  • RO - Romania

  • RU - Russian Federation

  • RW - Rwanda

  • GS - S. Georgia and S. Sandwich Isles.

  • KN - Saint Kitts and Nevis

  • LC - Saint Lucia

  • VC - Saint Vincent & the Grenadines

  • WS - Samoa

  • SM - San Marino

  • ST - Sao Tome and Principe

  • SA - Saudi Arabia

  • SN - Senegal

  • RS - Serbia

  • SC - Seychelles

  • SL - Sierra Leone

  • SG - Singapore

  • SI - Slovenia

  • SK - Slovak Republic

  • SB - Solomon Islands

  • SO - Somalia

  • ZA - South Africa

  • GS - S. Georgia and S. Sandwich Isles.

  • ES - Spain

  • LK - Sri Lanka

  • SH - St. Helena

  • PM - St. Pierre and Miquelon

  • SD - Sudan

  • SR - Surin ame

  • SJ - Svalbard & Jan Mayen Islands

  • SZ - Swaziland

  • SE - Sweden

  • CH - Switzerland

  • SY - Syria

  • TW - Taiwan

  • TJ - Tajikistan

  • TZ - Tanzania

  • TH - Thailand

  • TG - Togo

  • TK - Tokelau

  • TO - Tonga

  • TT - Trinidad and Tobago

  • TN - Tunisia

  • TR - Turkey

  • TM - Turkmenistan

  • TC - Turks and Caicos Islands

  • TV - Tuvalu

  • UG - Uganda

  • UA - Ukraine

  • AE - United Arab Emirates

  • UK - United Kingdom

  • US - United States

  • UM - US Minor Outlying Islands

  • UY - Uruguay

  • SU - USSR (former)

  • UZ - Uzbekistan

  • VU - Vanuatu

  • VA - Vatican City State (Holy See)

  • VE - Venezuela

  • VN - Viet Nam

  • VG - British Virgin Islands

  • VI - Virgin Islands (U.S.)

  • WF - Wallis and Futuna Islands

  • EH - Western Sahara

  • YE - Yemen

  • YU - Yugoslavia (former)

  • ZM - Zambia

  • (ZR - Zaire) - See CD Congo, Democratic Republic

  • ZW - Zimbabwe

For Java 6:

For Java 7:

wizarPOSDevCertificateApplyGuide_en.pdf
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
https://www.digicert.com/kb/ssl-certificate-country-codes.htm
Country_Name_Codes