2013-06-03 4 views
113

Я получаю следующую ошибку при генерации сертификатов на своей локальной машине.ошибка keytool Keystore была изменена или пароль был неверным

C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA 
Enter keystore password: 
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect 

Я думаю, что есть некоторые проблемы в JDK version.I побежали ту же команду на моей машине коллеги и он работает нормально.

Пожалуйста, поделитесь своими входом.

+0

Вы даете правильный пароль? и запустить команду из соответствующей директории? –

+1

Как я его создаю, поэтому я ввожу новый пароль. Из какой директории я должен ее запустить? – C4CodeE4Exe

+0

Keytool -genkeypair -alias -keyalg RSA кот -keystore D: \ keystore.jks попробовать это для создания хранилища ключей, а затем экспортировать CER как Keytool -export -alias mycert -keystore D: \ keystore.jks -file vorburger.cer –

ответ

63

Из вашего описания я предполагаю, что вы находитесь на окна машины и ваш дом а

Так вот: Причина

При запуске этой команды

keytool -genkey -alias tomcat -keyalg RSA

, потому что вы не указывая явное хранилище ключей, которое он попытается сгенерировать (и в вашем случае, когда вы получаете исключение, чтобы обновить) keystore C:\users\abc>.keystore и cou rse вам нужно предоставить старый пароль для .keystore, пока я считаю, что вы предоставляете свою версию (новую).

Решение

  1. Либо удалите .keystore из C:\users\abc> места и повторите команду

  2. или попробовать следующую команду, которая создаст новый xyzkeystore:

    keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA

Примечание:-genkey старый сейчас довольно использование -genkeypair хотяt обе работает одинаково.

+0

Хотя я понял это самостоятельно. «Либо удалить .keystore из C: \ users \ abc> location и попробовать команду« это правильное решение. – C4CodeE4Exe

+0

можно ли доставить пропуск в хранилище ключей в аргументах? – user1767754

144

я решил его с помощью пароля по умолчанию для cacerts хранилище ключей: 'changeit'

+5

Я забыл, что это было «changeit» ... Я пытался «changeme» ​​ – nterry

+0

Это решило мою проблему, я пытался получить сертификат. Благодаря! –

+0

haha ​​.. так что на самом деле его не меняют пароль на новый, а по умолчанию работают: D –

4

Использование changeit для пароля тоже важно.

Эта команда, наконец, работал для меня (с причалом):

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048 
0

Обобщая советы с этой страницы, я закончил следующим:

keytool -genkeypair -keystore ~/.android/release.keystore -alias <my_alias> -storepass <my_cert_pass> -keyalg RSA 

Тогда я получил множество вопросов относительно имени, организации, местоположения и пароля для моего псевдонима.

77

Этот ответ будет полезен для нового пользователя Mac (работает для Linux, Window 7 64 бит тоже).

Пустой пароль работал в моем mac.(Вставить строку ниже в терминале)

keytool -list -v -keystore ~/.android/debug.keystore 

, когда он запрашивает

Enter keystore password: 

просто нажмите кнопку ввода (типа ничего Dont) .Он должен работать.

Пожалуйста, убедитесь, что его файл по умолчанию debug.keystore, а не файл архивации на основе проекта (для этого может измениться пароль).

Хорошо подходит для MacOS Sierra 10.10+ тоже.

Я слышал, он работает и для среды linux. Я еще не тестировал это в linux.

+4

Он также работает на машинах Linux. Спасибо, брат. – Shashanth

+2

работает в моих окнах. – ridoy

0

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

я решил мою проблему, когда я изменил путь хранилища ключей C: \ MyWorks \ mykeystore к C: \ MyWorks \ mykeystore.keystore.

5

В tomcat 8.5 обратите внимание на правильное имя атрибутов. Это мой код на server.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, чтобы увидеть все атрибуты

2

Проверьте вашу домашнюю папку ~/.gradle/gradle.properties. Иногда, если у вас есть gradle.properties в домашнем каталоге, он получает данные от него. Либо вы можете изменить это, либо удалить файлы. Затем он берет необходимые данные из вашей локальной папки.

Смежные вопросы