多数の .keystore ファイルがあり、特定の CN とエイリアスを持つファイルを見つける必要があります。keytool、jarsigner、またはその他のツールでそれを行う方法はありますか? 特定の apk に署名するために特定のキーストアが使用されたかどうかを確認する方法を見つけましたが、各ファイルでエイリアスと証明書名も取得する必要があります。
1009395 次
11 に答える
944
次のコマンドを実行して、キーストアファイルの内容(およびエイリアス名)を一覧表示できます。
keytool -v -list -keystore .keystore
特定のエイリアスを探している場合は、次のコマンドで指定することもできます。
keytool -list -keystore .keystore -alias foo
エイリアスが見つからない場合は、例外が表示されます。
keytoolエラー:java.lang.Exception:エイリアスが存在しません
于 2012-10-15T11:08:30.997 に答える
292
すべての詳細を取得するために、romaintaz の回答に -v オプションを追加する必要がありました。
keytool -v -list -keystore <FileName>.keystore
于 2015-04-17T11:57:43.807 に答える
73
Java コードから実行できます。
try {
File file = new File(keystore location);
InputStream is = new FileInputStream(file);
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
String password = "password";
keystore.load(is, password.toCharArray());
Enumeration<String> enumeration = keystore.aliases();
while(enumeration.hasMoreElements()) {
String alias = enumeration.nextElement();
System.out.println("alias name: " + alias);
Certificate certificate = keystore.getCertificate(alias);
System.out.println(certificate.toString());
}
} catch (java.security.cert.CertificateException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(null != is)
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Certificate クラスは、キーストアに関するすべての情報を保持します。
更新 - 秘密鍵を取得
Key key = keyStore.getKey(alias, password.toCharArray());
String encodedKey = new Base64Encoder().encode(key.getEncoded());
System.out.println("key ? " + encodedKey);
@prateekこれがあなたが探しているものであることを願っています!
于 2012-10-15T11:29:44.090 に答える
63
KeyStore Explorer は、キーストアを管理するためのオープン ソースのビジュアル ツールです。
于 2014-02-18T14:13:38.113 に答える
4
Windows の場合:
keytool -v -list -keystore my_keystore | findstr my_string
参照:
于 2021-09-01T12:46:15.750 に答える
0
keytool -v -list -cacerts -alias cert1
これは、エイリアス名でjdk-11に追加された証明書をチェックし、それがWindowsマシンに追加されたかどうかを確認するときに機能します
于 2022-02-23T18:12:00.280 に答える