|
|
(2 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| == Overview ==
| | {{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/certificate/apply-app-certificates}} |
| 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 [http://ftp.wizarpos.com/wizarPOSDevCertificateApplyGuide_en.pdf wizarPOSDevCertificateApplyGuide_en.pdf] for detailed application procedures.
| |
| == Prerequisites ==
| |
| * A PC with Java Development Kit (JDK) installed.
| |
| * Use the ''''keytool'''' command in the JDK.
| |
| == 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.
| |
| {| class="wikitable" | |
| |-
| |
| ! Field !! Value !! Description
| |
| |-
| |
| | 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 || [[How_to_apply_app_certificate|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, techsupport@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 ==
| |
| ==== <big>Keytool Access</big> ====
| |
| * '''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.
| |
| ==== <big>Resolving Keysize Issues during Keypair Generation</big> ====
| |
| *'''Solution:'''
| |
| ** Download the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for your Java version:
| |
| *** For Java 6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
| |
| *** For Java 7: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
| |
| ** Copy ''''local_policy.jar'''' and ''''US_export_policy.jar'''' into ''''$JAVA_HOME/jre/lib/security''''.
| |
| ==== <big>CSR (Certificate Signing Request) Validation</big> ====
| |
| *'''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.
| |
| ==== <big>Handling Expired Certificates</big> ====
| |
| *'''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 ==
| |
| | |
| | |
| https://www.digicert.com/kb/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
| |