私の目標は、証明書を生成し、ファイルにエクスポートし、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:キーストアが改ざんされたか、パスワードが正しくありませんでした
これを整理しました。 cacertsキーストアのデフォルトのパスワードは 'changeit'で、JDKのcacertsキーストアを更新するために 'password'というパスワードを使用していました
[〜#〜] 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形式のパスワードが含まれます