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: