2016-05-27 71 views
6

Ho uno script che crea e firma un file di archivio di chiavi per un'app per Android.Creazione di un file di archivio chiavi con un comando

Si sta lavorando perfettamente bene, ma avrei preferito farlo funzionare senza intervento umano

quello che ho da creare l'archivio di chiavi:

keytool -genkey -v -keystore my-release-key.keystore 
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

Questo poi mi chiede di immettere manualmente i seguenti valori utilizzando il terminale: password keystore, nome completo, unità organizzativa, nome dell'organizzazione, città, stato, codice provincia, password chiave.

quello che ho da firmare l'app:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 
-keystore my-release-key.keystore my_application.apk alias_name 

Questo poi mi spinge a entrare passphrase per chiavi.

Esiste comunque la possibilità di passare questi valori come parametri in modo da eseguire lo script completo senza necessità di interazione?

PS: sto usando Ubuntu 14.04 LTS.

Grazie per il vostro tempo :)

+2

Ricordare che se si immettono password ecc. Come parametri, è possibile memorizzarle nella cronologia/nei registri – fractalwrench

+0

@fractalwrench. Grazie per avermelo segnalato, avrò bisogno di trovare un lavoro per questo. – PeterG

risposta

16

Si può fare qualcosa di simile per generare l'archivio chiavi:

keytool -genkey -alias replserver \ 
    -keyalg RSA -keystore keystore.jks \ 
    -dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US" \ 
    -storepass password -keypass password 

Ecco un buon riferimento: https://pubs.vmware.com/continuent/tungsten-replicator-3.0/deployment-ssl-stores.html. E per il jarsigner esiste il parametro "storepass" per la password del keystore. E se metti entrambi in una sceneggiatura dovresti essere bravo.

+1

Aggiungere '-deststoretype pkcs12' per creare il keystore nel formato' PKCS12' standard di settore ora consigliato. Un'altra buona opzione è '-keysize 4096' –

Problemi correlati