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 > "