Ошибка 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 запускал ту же самую команду на моей машине collegues, и она работает нормально.

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

Ответ 1

Из вашего описания я предполагаю, что вы на машине с 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, хотя обе работают одинаково.

Ответ 2

Я решил это, используя пароль по умолчанию для хранилища cacerts: 'changeit'

Ответ 3

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

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

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

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

Enter keystore password:  

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

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

Хорошо работает и для MacOS Sierra 10.10+.

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

Ответ 4

В 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, чтобы увидеть все атрибуты.

Ответ 5

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

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

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

Ответ 6

Работает на Windows

откройте командную строку (нажмите клавишу Windows + R, затем введите "cmd" без кавычек в появившемся диалоговом окне и нажмите клавишу ввода).

затем введите код сниффа ниже:

  1. cd C:\Program Files\Java\jdk1.7.0_25\bin

затем введите следующую команду

  1. keytool -list - хранилище ключей "C: /Documents and Settings/Ваше имя /.android/debug.keystore"

Затем он запросит пароль Keystore. Пароль по умолчанию - это тип "android", введите или просто нажмите "DONT TYPE ANY PASSWORD".

Ответ 7

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

Ответ 8

Я решил эту проблему, используя пароль по умолчанию "changeit".

Ответ 9

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

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

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

Ответ 10

ошибка keytool: java.io.IOException: был поврежден Keystore или неверный пароль

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

Ответ 11

Поймал эту вещь сегодня. Пробовал менять пароли - это не помогло. В моем случае это помогло обновить Android Studio с 1.5 до 2.0. Не знаю почему, но теперь все работает.

Ответ 12

В моем случае мне нужно было иметь root доступ.

Ответ 13

Я исправил эту проблему, удалив выходной файл и снова выполнив команду. Оказывается, он НЕ перезаписывает предыдущий файл. У меня была эта проблема при обновлении сертификата let encrypt с помощью tomcat

Ответ 14

 [[email protected] Certificate]# openssl pkcs12 -export -in 
 /opt/Certificate/115c99f4c5aa98f5.crt -inkey /opt/Certificate/ravi.in.key -certfile 
/opt/Certificate/gd_bundle-g2-g1.crt -out RaviNew.p12

Enter Export Password: <Password>
Verifying - Enter Export Password: <Password>

Примечание: - Над Экспортом Pasworrd запишите куда угодно, потому что это необходимо для создания файла JKS (это зависит от вашего выбора, какой пароль вы хотите сделать)

  keytool -importkeystore -srckeystore DigiEduNew.p12 -srcstoretype pkcs12 -destkeystore finaldigiEdu.jks -deststoretype JKS
  Importing keystore DigiEduNew.p12 to finaldigiEdu.jks...
  Enter destination keystore password: <Any Password >
  Re-enter new password: <Any Password >
  Enter source keystore password: <.P12 Password >
  Entry for alias 1 successfully imported.
  Import command completed:  1 entries successfully imported, 0 entries failed or 
  cancelled



 Warning:
 The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 
 which is an industry standard format using "keytool -importkeystore -srckeystore 
 finaldigiEdu.jks -destkeystore finaldigiEdu.jks -deststoretype pkcs12".

Ответ 15

Это случилось со мной в самый первый раз при создании файла keystone. Я думал, что у него есть пароль по умолчанию. но в конце концов я ввел пароль своей учетной записи, и он работал в Mac.

Ответ 16

Для меня я решил это, изменив пароли с арабской буквы на английскую букву, но сначала я пошел в папку и удалил сгенерированный ключ, затем он работает.

Ответ 18

Ваш пароль неверный. Проверьте номерку !