2011-12-27 13 views
104

Sto cercando di importare un certificato attendibile nello Java cacerts keystore, ma ho un problema. Ho provato ad elencare i certificati attendibili esistenti e sembra che il keystore non sia protetto da password.Come accedere a un keystore Java non protetto da password o modificare la password?

$ keytool -list -keystore cacerts 
Enter keystore password: 

***************** WARNING WARNING WARNING ***************** 
* The integrity of the information stored in your keystore * 
* has NOT been verified! In order to verify its integrity, * 
* you must provide your keystore password.     * 
***************** WARNING WARNING WARNING ***************** 

Keystore type: JKS 
Keystore provider: SUN 

Your keystore contains 76 entries 

ho cercato di importare un certificato attendibile:

$ keytool -importcert -alias "JiraCert" -file /root/c9ssl.crt -keystore /etc/java-6-sun/security/cacerts 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Too many failures - try later 

Ho provato anche a cambiare la password da "nessuno" a qualcosa:

$ keytool -storepasswd -keystore cacerts.back 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Enter keystore password: 
Keystore password is too short - must be at least 6 characters 
Too many failures - try later 

risposta

186

che significa che cacerts keystore non è protetto da password

Questa è una falsa ipotesi. Se leggi più attentamente, scoprirai che l'elenco è stato fornito senza verificare l'integrità del keystore perché non hai fornito la password. L'elenco non richiede una password, ma il tuo keystore ha sicuramente una password, come indicato da:

Per verificare la sua integrità, è necessario fornire la password del keystore.

La password di cacerts predefinita di Java è "changeit", a meno che non si sia su un Mac, dove è "changeme" fino a un certo punto. Apparentemente come in Mountain Lion (basato sui commenti e un'altra risposta qui), la password per Mac ora è anche "changeit", probabilmente perché ora Oracle sta gestendo anche la distribuzione per Mac JVM.

+0

Grazie! Non riuscivo a capire perché la password era !! –

+2

Sì grazie. Che terribile password predefinita. Non riuscivo a capire cosa fosse. Ho appena cancellato il file cacerts e l'ho sostituito con il mio. – HeyWatchThis

+3

Come dice datasmid qui sotto, la password del Mac se si esegue Mountain Lion è anche "changeit" – Niro

3

Mac Mountain Lion ha la stessa password ora che utilizza Oracle.

43

La password del keystore è: "changeit". Ho funzionato per i miei comandi che hai inserito qui, per l'importazione del certificato. Spero tu abbia già risolto il tuo problema.