Как мне попасть в хранилище ключей Java, не защищенное паролем, или изменить пароль?

Я пытаюсь импортировать доверенный сертификат в Java cacerts keystore, но у меня есть проблема. Я попытался перечислить существующие доверенные сертификаты, и кажется, что хранилище ключей не защищено паролем.

$ 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

Я попытался импортировать доверенный сертификат:

$ 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

Я также попытался сменить пароль с "none" на что-то:

$ 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

Ответ 1

что означает, что хранилище ключей cacerts не защищено паролем

Это ложное предположение. Если вы прочтете более внимательно, вы обнаружите, что листинг предоставлен без проверки целостности хранилища ключей, потому что вы не указали пароль. В листинге не требуется пароль, но у вашего хранилища ключей определенно есть пароль, как указано:

Чтобы проверить его целостность, вы должны предоставить свой пароль хранилища ключей.

Java default cacerts password "changeit", если вы не на Mac, где он "меняет" до определенной точки. Очевидно, что из Mountain Lion (на основе комментариев и другого ответа здесь) пароль для Mac теперь также "изменен", возможно, потому, что Oracle теперь обрабатывает дистрибутив для Mac JVM.

Ответ 2

Пароль хранилища ключей по умолчанию: "changeit". Я выполнил свои команды, введенные здесь, для импорта сертификата. Надеюсь, вы уже решили свою проблему.

Ответ 3

Mac Mountain Lion имеет тот же пароль, теперь он использует Oracle.

Ответ 4

Попасть в небезопасное хранилище ключей Java и изменить пароль можно с помощью самого языка программирования Java.

Эта статья содержит код для этого:

thetechawesomeness.ideasmatter.info