¿Cómo accedo a un almacén de claves Java sin contraseña o cambio la contraseña?

121

Estoy intentando importar un certificado de confianza al almacén de claves de cacerts de Java , pero tengo un problema. Intenté enumerar los certificados de confianza existentes y parece que el almacén de claves no está protegido por contraseña.

$ 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

Intenté importar un certificado de confianza:

$ 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

También intenté cambiar la contraseña de "ninguna" a algo:

$ 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
Eslam
fuente

Respuestas:

206

lo que significa que el almacén de claves de cacerts no está protegido por contraseña

Esa es una suposición falsa. Si lee más detenidamente, encontrará que la lista se proporcionó sin verificar la integridad del almacén de claves porque no proporcionó la contraseña. La lista no requiere una contraseña, pero su almacén de claves definitivamente tiene una contraseña, como lo indica:

Para verificar su integridad, debe proporcionar su contraseña del almacén de claves.

La contraseña predeterminada de cacerts de Java es "changeit", a menos que estés en una Mac, donde es "changeme" hasta cierto punto. Aparentemente, a partir de Mountain Lion (basado en comentarios y otra respuesta aquí), la contraseña para Mac ahora también es "changeit", probablemente porque Oracle ahora también está manejando la distribución para Mac JVM.

Ryan Stewart
fuente
¡Gracias! ¡No pude entender por qué era la contraseña!
Jesse Barnum
2
Si gracias. Qué terrible contraseña predeterminada. Tampoco pude averiguar qué era. Acabo de eliminar el archivo cacerts y lo reemplacé con el mío.
HeyWatchThis
3
Como dice el datasmid a continuación, la contraseña de Mac si está ejecutando Mountain Lion también es "changeit"
Niro
19
"La contraseña de cacerts predeterminada de Java es" changeit "": ¡+1000 si pudiera! ¡Gracias Stackoverflow!
Neil Vass
55

La contraseña del almacén de claves por defecto es: "changeit". Funcioné según mis comandos que ingresó aquí, para la importación del certificado. Espero que ya hayas resuelto tu problema.

GeoKlar
fuente
4

Mac Mountain Lion tiene la misma contraseña ahora que usa Oracle.

bbaassssiiee
fuente
0

Entrar en un almacén de claves Java sin contraseña y cambiar la contraseña se puede hacer con la ayuda del lenguaje de programación Java.

Ese artículo contiene el código para eso:

thetechawesomeness.ideasmatter.info

Oleksii Kyslytsyn
fuente