keytool: импорт сертификата выдает сообщение об ошибке - хранилище ключей было подделано, или пароль был неверным

Моя цель - создать сертификат, экспортировать его в файл и импортировать в хранилище ключей JDK.

На первом этапе я сгенерировал самозаверяющий сертификат, используя следующую команду, указав пароль в качестве "пароля" для хранилища ключей и ключа:

keytool   -genkeypair  -keystore .keystore  -alias uasera  -keyalg RSA

На втором этапе я экспортировал сертификат, используя аналогичный пароль и следующую команду:

keytool  -exportcert  -keystore  .keystore  -alias usera  -file usera.crt

СЕЙЧАС!

Я пытаюсь импортировать этот сертификат в Cacerts в JDK, используя аналогичный пароль и следующую команду, но получаю исключение.

keytool -importcert -file usera.crt -keypass password  -keystore "C:\Program Files\Java\jdk1.7.0_13\jre\lib\security\cacerts"

ОШИБКА

K:\java\ Certificates>keytool -importcert -file usera.crt -keypass password -keystore "C:\Program Files\Java\jdk1.7.0_13\jre\lib\security\cacerts" Введите пароль хранилища ключей: ошибка keytool: java.io.IOException: хранилище ключей было подделано, или пароль был неверным

1 ответ

Решение

Я разобрался с этим. Я использовал свой пароль "пароль" для обновления хранилища ключей cacerts в JDK, а пароль по умолчанию для хранилища ключей cacerts - "changeit"

ЕСЛИ вы можете создать свое приложение с ПК, но не помните пароль, вот что вы можете сделать, чтобы получить пароль:

Способ 1:

В вашем build.gradle добавьте println MYAPP_RELEASE_KEY_PASSWORD как показано ниже:

signingConfigs {
    release {
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
            println MYAPP_RELEASE_KEY_PASSWORD
        }
    }
}

После этого запустите cd android && ./gradlew assembleRelease

Способ 2:

Пробег keytool -list -v -keystore your <.keystore file path> например, keytool -list -v -keystore ./app/my-app-key.keystore.

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

Затем запустите grep -rn "<your alias name>". в вашем терминале, и вы сможете увидеть свой файл signed.json, как показано ниже:

./app/build/intermediates/signing_config/release/out/signing-config.json

В файле будет ваш пароль в формате json с ключом "mKeyPassword":" < your password > "

Другие вопросы по тегам