keytoolファイルのjavaバージョンを変更することは可能ですか?.keystore? apkに署名するためのキーストアファイルは、Java 7の下で作成されました。私たちのアプリケーションはすべて最新のJavaバージョンで開発されていますが、署名プロセスのために署名するために私たちのマシンにJava 7を保存する必要があります。最新のjavaバージョンでキーストア全体をコピーする方法はありますか?私はすでに、例えば試してみました:javaの8アンダーKeyStoreファイル "upgrade" javaバージョン
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
と私は例外だ:
を見つけましたが初期化することができません、にjava.io.IOException:DerInputStream.getLength(): 冗長長さバイトは
私はjava 7の下で同じコマンドを実行すると、もちろん動作します。
既に試み:
オレグのポスト - 、初期化できません
上記と同じ例外を与えるにjava.io.IOException:DerInputStream.getLength(): 冗長長さバイトは を発見しました変更されたSHAとが正常に証明書をインポート KeyStore Explorerツールを使用して、新しいもの、に
インポート元のキーストア1指紋。
Java 7で完全に新しいキーストアファイルを作成し、Java 8のkeystoolを使用して詳細をリストします。ちょうどそのキーストアファイルが何らかの形で壊れていることを確認します。
最新のJavaの下でこのキーストアファイルを開くためのOlegの提案も、まだ動作していませんRedundant length bytes exception
。
編集 @Olegがコメントで指摘したように、エイリアスはおそらく何らかの形で壊れていました。このため、最新のJavaを署名用に使用することはできません。だから私の問題のための解決策がないように見えます。 1つのキーストアファイルの内容を別のものにコピーするには、Olegのソリューションは正しいです。
私は、約17年間、同じキーストアを使用していない以前の場合はバックのJava 1.3に付き合ってきました、互換性の問題は一度もありませんでした。 – EJP