Come si accede a un keystore Java non protetto da password o si modifica la password?


121

Sto cercando di importare un certificato attendibile nel keystore Java cacerts , ma ho un problema. Ho provato a elencare i certificati attendibili esistenti e sembra che il keystore non sia protetto da 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 provato a 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 anche provato 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

Risposte:


206

il che significa che il keystore cacerts non è protetto da password

È un falso presupposto. 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 verificarne l'integrità, è necessario fornire la password del keystore.

La password cacerts predefinita di Java è "changeit", a meno che tu non sia su un Mac, dove è "changeme" fino a un certo punto. Apparentemente a partire da Mountain Lion (sulla base dei commenti e di un'altra risposta qui), la password per Mac ora è anche "changeit", probabilmente perché Oracle ora gestisce anche la distribuzione per la JVM per Mac.


Grazie! Non riuscivo a capire perché fosse la password !!
Jesse Barnum

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

3
Come dice datasmid di seguito, anche la password del Mac se stai utilizzando Mountain Lion è "changeit"
Niro

19
"La password cacerts predefinita di Java è" changeit "": +1000 se potessi! Grazie Stackoverflow!
Neil Vass

55

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



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.