How to Apply App Certificates

From wizarPOS

In the wizarpos terminal, in addition to the normal Android signature check, the system will also verify the APK signature through the root certificate chain. Terminal only allows APK signed by root certificate or its child certificate to be installed successfully. So developers should apply for the signing certificate issued by wizarPOS. Please refer to this document wizarPOSDevCertificateApplyGuide_en.pdf to apply for signing certificate.

Running Environment

The following steps will run on the PC and use keytool in the JDK, so make sure that the JDK is installed on the PC.

Generate 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"

Notes:

  • Domain name should be filled according the real information of your company. CN=commonName, OU=organizationUnit, O=organizationName, L=localityName, ST=state or province name, C=country.
  • EMAILADDRESS must be filled by company official email address.
  • If you want to use this key store in Eclipse as a custom debug key store, the alias of the key should be “androiddebugkey” and the password should be “android”. If you won’t use this key store in Eclipse, you can use any alias name or password.

Export CSR (Certificate Signature Request)

 keytool -certreq -keystore demo.jks -alias androiddebugkey > demo.csr 

Send CSR to WizarPOS

Mail content:

Sales Person: write the WizarPOS sales person you contacted.

Company Name: write your company name.

Attachment: CSR file.

Receiver: support@wizarpos.com, techsupport@wizarpos.com, and CC to the WizarPOS sales staff, not cc, do not handle.

Import the Certificate Chain

Import the replied certificate chain of the CSR(*.crt or *.pem), when you receive them from WizarPOS.:

 keytool -importcert -keystore demo.jks -file file-name-of-CSR-reply -alias androiddebugkey

Notes:

  • Store the attached pem file of WizarPOS reply to the same folder of jks file.
  • file-name-of-CSR-reply is the file name of the pem file with certificate chain.
  • Choose Yes (or other confirming word depends on your language), when the importing tools ask you if you want to trust them.

FAQ

Keytool

keytool.exe is in the JRE path, XXX/Java/jreXXX/bin, if you have set the environment variable, JAVA_HOME, you can run keytool command line in every path, or else you must run the command line in the JRE path.

Keysize Problem when Generate Keypair

Please download the unlimited strength policy from java website:

Java6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

Java7: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

Copy the local_policy.jar and US_export_policy.jar to the folder $JAVA_HOME/jre/lib/security

CSR error

After export CSR, please open the CSR in Notepad, if the CSR content begin with "-----BEGIN NEW CERTIFICATE REQUEST-----", end with "-----END NEW CERTIFICATE REQUEST-----", there are contents in the middle, that means the CSR file is right.

If the CSR only contents an error message, please fix the problem according the message.

Certificate expired

If you meet the development expire issue, please follow the steps:

  1. Send the expired certificate to support@wizarpos.com, to apply renewal.
  2. Support will send back the renewed certificate.
  3. Import the renewed certificate to the keystore which has expired certificate.

Country Name Codes

https://www.digicert.com/ssl-certificate-country-codes.htm

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