E' un comando che permette di creare e gestire archivi .jar
Gli archivi jar tipicamente contengono classi java ed altri file accessori utili a creare un'applicazine java.
La sintassi del comando e' molto simile al comando "tar".
$JAVA_HOME/bin/jar [opzioni] [jarfile|file]
Opzioni principali:
-c
Crea nuovi archivi jar
-t
Mostra il contenuto dell'archivio jar e ne verifica l'integrità
-x
Estrae file o il completo contenuto dell'archivio
-v
Abilita la modalità verbosa
-f
specifica il nome dell'archivio
Esempi:
Estazione di un archivio
$JAVA_HOME/bin/jar -zxvf archivio.jar
Creazione di un archivio
$JAVA_HOME/bin/jar -zxvf archivio.jar
Utility per gestione delle chiave, certificati e dei keystore.
$JAVA_HOME/bin/keytool [comando] [opzioni]
Comandi principali:
-certreq
Genera una csr (certificate request)
-delete
Cancella una entry da un keystore
-exportcert
Esporta un certificato
-genkeypair
Genera chiavi
-gencert
Genera certificati da un csr
-importcert
Esegue l'import di un certificato o di una catena
-importkeystore
Esegue l'import di un keystore completo
-list
Mostra il contenuto del keystore
-printcert
Mostra in formato leggibile il contenuto di un certificato
-printcertreq
Mostra in formato leggibile di un csr
-storepasswd
Cambia la password del keystore
Ogni comando ha un propria lista di opzioni ed e' richiamabile eseguendo il seguente comando: $JAVA_HOME/bin/keytool -help
Di seguito le opzioni comuni piu' usate ed alcuni esempi:
Opzioni comuni:
-v
Abilita la modalita' verbosa
-keystore [keystore]
specifica il PATH del keystore. Nel caso in cui non venga specificato il keystore di default e' $HOME/.keystore. Nel caso in cui il keystore specificato o il keystore di default non esiste, viene creato.
-storepass
specifica la password del keystore. Nel caso in cui sia omessa, la password viene richiesta in modo interattivo. La password di default per il cacerts delle JVM e' changeit.
Esempi:
Visualizzare il contenuto di un keystore
neotux@bokken:~$ $JAVA_HOME/bin/keytool -list -keystore ../jre/lib/security/cacerts
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 79 entries
digicertassuredidrootca, Apr 16, 2008, trustedCertEntry,
Certificate fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
trustcenterclass2caii, Apr 29, 2008, trustedCertEntry,
Certificate fingerprint (SHA1): AE:50:83:ED:7C:F4:5C:BC:8F:61:C6:21:FE:68:5D:79:42:21:15:6E
thawtepremiumserverca, Dec 11, 2009, trustedCertEntry,
Certificate fingerprint (SHA1): E0:AB:05:94:20:72:54:93:05:60:62:02:36:70:F7:CD:2E:FC:66:66
swisssignsilverg2ca, Oct 31, 2008, trustedCertEntry,
Certificate fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
swisssignplatinumg2ca, Oct 31, 2008, trustedCertEntry,
Certificate fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66
equifaxsecureebusinessca1, Jul 18, 2003, trustedCertEntry,
Certificate fingerprint (SHA1): DA:40:18:8B:91:89:A3:ED:EE:AE:DA:97:FE:2F:9D:F5:B7:D1:8A:41
thawteserverca, Dec 11, 2009, trustedCertEntry,
Certificate fingerprint (SHA1): 9F:AD:91:A6:CE:6A:C6:C5:00:47:C4:4E:C9:D4:A5:0D:92:D8:49:79
utnuserfirstclientauthemailca, May 2, 2006, trustedCertEntry,
Certificate fingerprint (SHA1): B1:72:B1:A5:6D:95:F9:1F:E5:02:87:E1:4D:37:EA:6A:44:63:76:8A
thawtepersonalfreemailca, Dec 11, 2009, trustedCertEntry,
[...]
Import di un certificato
neotux@bokken:~$$JAVA_HOME/bin/keytool -importcert -v -trustcacerts -alias Cert_Pippo_com_2014 -file /home/neotux/pippo.pem -keystore ../jre/lib/security/cacerts
Enter keystore password:
Owner: CN=*.dominio.com, O=Dominio, Inc;, L=Palo Alto, ST=California, C=US
Issuer: OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign, OU=VeriSign International Server CA - Class 3, OU=VeriSign, Inc., O=VeriSign Trust Network
Serial number: 00f77bbb3aaab235d44ccc7dba00a00
Valid from: Thu Jun 21 02:00:00 CEST 2010 until: Wed Jan 01 00:59:59 CET 2018
Certificate fingerprints:
[...]
Trust this certificate? [no]:yes
Certificate was added to keystore
[Storing ../jre/lib/security/cacerts]
Esportare un certificato dal keystore
neotux@bokken:~$ $JAVA_HOME/bin/keytool -exportcert -alias Cert_Pippo_com_2014 -keystore ../jre/lib/security/cacerts -file /home/neotux/pluto.pm
Enter keystore password:
Certificate stored in file /home/neotux/pluto.pm;
Eliminare un certificato dal keystore
neotux@bokken:~$ $JAVA_HOME/bin/keytool -delete -alias Cert_Pippo_com_2014 -keystore ../jre/lib/security/cacerts
Enter keystore password:
Java virtual machine process tool. Utility che permette di estrapolare i PID dei processi java sull'host locale o remoto(richiede jstatd attivo sulla macchina target).
jps [opzioni] [hostid]
Opzioni di uso comune:
-v
Abilita la modalita' verbosa
-V
Mostra gli argomenti passati alla JVM
hostid
è opzionale, se omesso vengono visualizzate le info relative alla jvm locale se specificato identifica l'host target ove eseguire jps. Si compone nel seguete modo:
[protocol:][[//]hostname][:port][/servername]
In generale, l'utility mostra informazioni relative alle JVM ove ha permesso di accesso. Nel caso in cui vi siano più JVM attive con diversi owner è opportuno eseguire il comanda da root.
Esempio:
root@pluto:~# $JAVA_HOME/bin/jps -Vv
30178 Jps -Dapplication.home=/u01/jrockit-jdk1.6.0_31-R28.2.3-4.1.0 -client -Dsun.java.command=sun.tools.jps.Jps -Vv -Dsun.java.launcher=SUN_STANDARD
2019 Server -Xms10240m -Xmx10240m -Xverbose:memory -Xverboselog:/tmp/verbose.log -Dweblogic.threadpool.MinPoolSize=200 -Dcom.bea.wli.sb.pipeline.RouterRuntimeCache.size=350 -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Xmanagement
[...]
Java Programming Language Compiler, ovvero il compilatore presente in ogni JDK che permette la compilazione del codice java in bytecode.
javac [ opzioni ] [ file_sorgente ] [@nome_lista]
E' possibile specificare più file sorgenti separati da uno spazio, oppure in caso di molti file sorgenti, è opportuno creare un file di testo che contenga la lista dei file sorgenti.
Tale lista può a sua volta avere due formattazioni possibili, una singola entry per riga oppure semplicemente separate da uno spazio.
Le opzioni più utilizzate e comuni a tutte le jdk:
-classpath|-cp
: Specifica il classpath
-directory|-d
: Specifica la directory di destinazione del compilato (.class files)
-nowarn
:Disabilita i warning nella fase di compilazione
-verbose
: Abilita la modalità verbosa