web-dev-qa-db-ja.com

keytool:証明書のインポートでエラーメッセージが表示される-キーストアが改ざんされたか、パスワードが間違っていた

私の目標は、証明書を生成し、ファイルにエクスポートし、JDKキーストアにインポートすることです。

最初のステップでは、次のコマンドを使用して自己署名証明書を生成し、パスワードをキーストアとキーの「パスワード」として提供します。

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

2番目のステップでは、同様のパスワードと次のコマンドを使用して証明書をエクスポートしました。

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

NOW!

同様のパスワードと次のコマンドを使用してJDKのcacertsにこの証明書をインポートしようとしていますが、例外が発生します。

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

[〜#〜] error [〜#〜]

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:キーストアが改ざんされたか、パスワードが正しくありませんでした

15
Kalher

これを整理しました。 cacertsキーストアのデフォルトのパスワードは 'changeit'で、JDKのcacertsキーストアを更新するために 'password'というパスワードを使用していました

67
Kalher

[〜#〜] if [〜#〜] PCからアプリを構築することはできますが、パスワードを思い出せません。パスワードを取得する方法は次のとおりです。

方法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。

キーストアのパスワードを入力するよう求められます。ここでEnterキーを押してください。エイリアス名にマッピングされたものを見つけることができます:

次に、grep -rn "<your alias name>"を実行します。ターミナルで次のようにsigning.jsonファイルを見ることができます:

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

ファイルには、キー"mKeyPassword":" < your password > "を含むJSON形式のパスワードが含まれます

0
Dipesh Karki