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

121

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

$ 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
Eslam
источник

Ответы:

206

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

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

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

Пароль cacerts по умолчанию в Java - «changeit», если только вы не используете Mac, где он «changeme» ​​до определенного момента. По-видимому, что касается Mountain Lion (на основе комментариев и другого ответа здесь), пароль для Mac теперь также «changeit», вероятно, потому, что Oracle теперь также обрабатывает распространение для Mac JVM.

Райан Стюарт
источник
Спасибо! Я не мог понять, почему был пароль !!
Джесси Барнум,
2
Да, спасибо. Какой ужасный пароль по умолчанию. Я тоже не мог понять, что это было. Я просто удалил файл cacerts и заменил его своим.
HeyWatchThis
3
Как указано ниже в datasmid, пароль Mac, если вы используете Mountain Lion, также является "changeit"
Ниро
19
"Пароль cacerts Java по умолчанию - changeit": +1000, если бы я мог! Спасибо, Stackoverflow!
Нил Васс,
55

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

GeoKlar
источник
4

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

bbaassssiiee
источник
0

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

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

thetechawesomeness.ideasmatter.info

Алексей Кислицын
источник