background image

10

1.3  

System APK signing

 When the 

 ISV 

 wants to design, on the TAB10s, some APK not requiring 

 system 

 rights to be executed, in this case no APK signing is required.

To design an APK having 

 system 

 privileges like the surround light driving, reboot control or URL launcher, the ISV needs to sign its APK with a 

 Java Keystore 

 having a

certificate 

 signed by 

 Qeedji 

.

 The ISV may use his 

 Java Keystore 

 for all its 

 system 

 applica ons and the same cer ficate for all the ISV TAB10s devices. When APK signing is required, each 

 ISV 

 must

apply this procedure once.

Procedure to create a system Java Keystore

 In the example, it is considered that the company name is Contoso. ISD means IT Service Department. In the procedure, it is required to use the generic email of the

Chief Informa on Security Officer (CISO) of the company, for example 

 [email protected] 

.

 In the following procedure, the following example values have been used.

Label type

Label value examples

C

US

ST

California

L

San-Francisco

O

Contoso

OU

Contoso_ISD

CN

CISO

E

[email protected]

Passphrase

1234

Java_keystore basename file

contoso_qeedji_java_keystore

Java_keystore password

567890

Friendly_name / name / key_alias

qeedji_aosp_key

1 . GENERATE YOUR PRIVATE KEY

 

Y ou are responsible for your private key storing which has to be never communicated to a third party.

Generate your private key with a length of 2048 bits with the 

R SA 2 0 4 8  Bits

 key type.

For example:

openssl genrsa -f4 2048 > contoso_private_key_for_android.key

2 . GENERATE YOUR OWN CSR (CERTIFICATE SIGNING REQUEST)

Generate your own 

 .csr 

 cer ficate signing request thanks to your private key and some applicant iden fica on used to digitally sign the request. Thanks to match the

filename pa ern by replacing contoso by your own organiza on name.

For example:

openssl req -new -key contoso_private_key_for_android.key -subj '/C=US/ST=California/L=San-

Francisco/O=Contoso/OU=Contoso_ISD/CN=CISO/[email protected]' > contoso-for_qeedji_aosp.csr

3 . SEND YOUR CSR TO QEEDJI

Once generated, send a email to the 

csr@ qeedji.tech

 with your 

 CSR 

 (

 contoso-for_qeedji_aosp.csr 

 file for example) in a achment.

4 . WAIT FOR THE QEEDJI ANSWER

 Qeedji 

 should then return an answer within 7 days.

 

Qeedji will send its answer to the email defi ned into the CSR  fi le ( ciso@ contoso.com for example) , which may be not the same email used to send the CSR  to Qeedji.

 Qeedji 

 sends 2 files: the signed cer ficate (extension .crt) and the CA file (extension .pem).

For example:

 contoso-qeedji_aosp-certificate-001A.crt 

,

 contoso-qeedji_aosp-certificate_authority-001A.pem 

5 . GENERATE YOUR PUBLIC CERTIFICATE KEY

You have first to generate your public cer ficate key. For example:

openssl pkcs12 -export -in contoso-qeedji_aosp-cer ficate-001A.crt -inkey contoso_private_key_for_android.key -out

contoso_cer ficate_and_key_for_qeedji_aosp.pk12 -password pass:1234 -name qeedji_aosp_key -chain -CAfile contoso-qeedji_aosp-cer ficate_authority-001A.pem

6 . GENERATE THE JAVA KEYSTORE

Generate then a 

 Java Keystore 

 from your public cer ficate key with the 

 keytool 

¹ toolbox.

The 

 Java Keystore 

 system is now usable in 

 Android Studio 

.

For example:

keytool -importkeystore -deststorepass 567890 -destkeystore contoso_qeedji_java_keystore.jks -srckeystore contoso_cer ficate_and_key_for_qeedji_aosp.pk12 -

srcstoretype PKCS12 -srcstorepass 1234

¹ 

Keytool is a toolbox to handle cer fi cates for J ava products. It is provided by default in the J DK since version 1 .1 .

Summary of Contents for TAB10s

Page 1: ...Developer manual 001M AOSP 9 10 10 TAB10s 8 30...

Page 2: ...lla on is of the utmost importance Incorrect ng and or installa on may result in personal injury or loss Qeedji disclaims all liability of whatever kind if the product is assembled ed and or installed...

Page 3: ...4 1 1 4 2 1 4 3 1 5 1 6 2 1 Table of content Part I Introduc on APK Development System APK signing Qeedji System service Installa on by USB Installa on by WebDAV AOSP device mode Qeedji preferences F...

Page 4: ...i TAB10s and who already have Android APK development skills It is recommended to read rst the TAB1 0 s user manual Demo Package Content Items Descrip on Q uan ty TAB10s Qeedji tablet embedding AOSP 1...

Page 5: ...d library exposes an Javascript API for speci c func onali es in a WebView The tech qeedji host webview aar Android library embeds the tech qeedji system lib classes jar library String Host Bluetooth...

Page 6: ...der in its manifest xml version 1 0 encoding utf 8 manifest xmlns android http schemas android com apk res android package tech qeedji test1 application android icon mipmap ic_launcher android label s...

Page 7: ...d surround_light APK allows to set the surround light color and state with steady green steady orange steady red o This APK uses the SurroundLight class described in the speci c API device_info APK di...

Page 8: ...load an URL This APK uses the WebView API and the tech qeedji host webview aar Android library for Qeedji The RECEIVE_BOOT_COMPLETED and INTERNET permissions are required This APK has system privileg...

Page 9: ...g to the TAB10s USB C connector Then wait for the TAB10s is boo ng up Go in the Settings applica on and con gure the WLAN LAN debug Prerequisite have a suitable Ethernet to USB USB C or POGO type conn...

Page 10: ...private key and some applicant iden ca on used to digitally sign the request Thanks to match the lename pa ern by replacing contoso by your own organiza on name For example openssl req new key contoso...

Page 11: ...app_name android roundIcon mipmap ic_launcher_round android supportsRtl true android theme style AppTheme activity android name MainActivity intent filter action android name android intent action MA...

Page 12: ...install one or more APK by WebDAV server by USB storage device inser on update the AOSP rmware by WebDAV server by USB storage device inser on con gure the product with a Javascript le by WebDAV serv...

Page 13: ...13 1 4 1 Installa on by USB Refer to the TAB10s user manual to install with an USB storage device a new APK apk a new AOSP rmware zip or fqs a new con gura on script js...

Page 14: ...pk a new AOSP rmware zip or fqs a new con gura on script js Data To put user data with a WebDAV client drop them in the data directory of the WebDAV server On the le system of the TAB10s the data dire...

Page 15: ...he default AOSP device mode is native If the persist sys device_mode system property value is kiosk the SystemUI service inhibits the system bars and the Launcher3 service hides the AllApps view and t...

Page 16: ...creden al ID for the webdav pro l persist sys webserver webuiappli credential String RW default De ne the creden al ID for the webuiappli pro l persist sys webserver webuiadmin credential String RW de...

Page 17: ...ith the speci c 000000000000 js con gura on script tech qeedji url_launcher prefs xml Type R W Default value V alues Descrip on start_after_boot_completed Boolean RW true true false When the preferenc...

Page 18: ...uc on for the rst me there is several ways either drop your APK in the apps directory of the WebDAV server or if the TAB10s device is installed on a EX C ETH POGO adapter put your apk les at the root...

Page 19: ...he Qeedji Website for FAQ applica on notes and so ware downloads h ps www qeedji tech Qeedji FRANCE INNES SA 5A rue Pierre Joseph Colin 35700 RENNES Tel 33 0 2 23 20 01 62 Fax 33 0 2 23 20 22 59 Qeedj...

Reviews: