keytool

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:

Privacy Policy