Ответ 1
У меня это разобралось. Я использовал свой пароль, который является "паролем", чтобы обновить хранилище cacerts в JDK, а пароль по умолчанию для cacerts keystore - "changeit"
Моя цель - создать сертификат, экспортировать его в файл и импортировать в хранилище ключей JDK.
На первом этапе я сгенерировал самоподписанный сертификат, используя следующую команду, указав пароль как "пароль" для хранилища ключей и ключа:
keytool -genkeypair -keystore .keystore -alias uasera -keyalg RSA
На втором этапе я экспортировал сертификат, используя аналогичный пароль и следующую команду:
keytool -exportcert -keystore .keystore -alias usera -file usera.crt
NOW!
Я пытаюсь импортировать этот сертификат в 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: был поврежден Keystore или неверный пароль
У меня это разобралось. Я использовал свой пароль, который является "паролем", чтобы обновить хранилище cacerts в JDK, а пароль по умолчанию для cacerts keystore - "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>"
. в своем терминале, и вы сможете увидеть свой файл signature.json, как показано ниже:
./app/build/intermediates/signing_config/release/out/signing-config.json
В файле будет ваш пароль в формате json с ключом "mKeyPassword":" < your password > "