ошибка keytool хранилище ключей было изменено или пароль был неверным
Я получаю следующую ошибку при создании сертификатов на моей локальной машине.
C:Usersabc>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
Я думаю, что есть некоторые проблемы в версии JDK.Я запустил ту же команду на моей машине коллег, и она работает нормально.
пожалуйста, поделитесь своими входами.
11 ответов:
из вашего описания я предполагаю, что вы находитесь на машине windows, и ваш дом abc
Итак, Теперь: Причина
при выполнении этой команды
keytool -genkey -alias tomcat -keyalg RSA
потому что вы не указываете явное хранилище ключей, которое он попытается создать (и в вашем случае, когда вы получаете исключение, чтобы обновить) keystore
C:\users\abc>.keystore
и конечно, нужно предоставить старый пароль .keystore в то время как я считаю, что вы предоставляете свою версию (новый один.)решение
удалить
.keystore
СC:\users\abc>
место и попробуйте командуили попробуйте следующую команду, которая создаст новый xyzkeystore:
keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA
Примечание:
-genkey
старый теперь скорее использовать-genkeypair
хотя оба работают одинаково.
этот ответ будет полезен для нового пользователя Mac (работает для Linux, Windows 7 64 бит тоже).
пустой пароль работал в моем mac . (вставьте нижеприведенную строку в терминал)
keytool -list -v -keystore ~/.android/debug.keystore
когда запрос
Enter keystore password:
просто нажмите кнопку enter (не вводите ничего).он должен работать .
пожалуйста, убедитесь, что его по умолчанию
debug.keystore
файл, а не для вашего проекта на основе файла хранилища ключей (пароль может измениться для этого).хорошо работает для MacOS Сьерра-10.10+ тоже.
Я слышал, что он работает и для среды linux. я еще не тестировал это в linux.
в tomcat 8.5 обратите внимание, чтобы написать правильное имя атрибутов. Это мой код на сервере.XML-код:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/keystore" certificateKeystorePassword="mypassword" type="RSA"/> </SSLHostConfig> </Connector>
вы можете посетить https://tomcat.apache.org/tomcat-8.5-doc/config/http.html чтобы увидеть все атрибуты
использование изменяется пароль является слишком важным.
эта команда наконец-то сработала для меня(с jetty):
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048
проверьте свою домашнюю папку
~/.gradle/gradle.properties
. Иногда, если у вас естьgradle.properties
в домашнем каталоге он берет данные от туда. Либо вы можете изменить или удалить файлы. Затем он будет принимать необходимые данные из вашей локальной папки.
работает на Windows
откройте командную строку (нажмите клавишу Windows + R, затем введите "cmd" без кавычек в появившемся диалоговом окне, а затем нажмите клавишу Enter).
затем введите код нюхать ниже:
- cd C:\Program файлы\Java\jdk1.7. 0_25\bin
затем введите следующую команду
- keytool-list-keystore "C:/Documents и настройки/ваше имя/.андроид/отладки.хранилище ключей"
тогда это будет попросите пароль хранилища ключей прямо сейчас. Пароль по умолчанию "Андроид" и Enter или просто нажмите enter "не введите пароль".
суммируя советы с этой страницы, я закончил со следующим:
keytool -genkeypair -keystore ~/.android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA
затем я получил набор вопросов, касающихся имени, организации, местоположения и пароля для моего псевдонима.