forked from I2P_Developers/i2p.i2p
Util: Fix up KeyStoreUtil CLI
This commit is contained in:
@@ -1272,41 +1272,51 @@ public final class KeyStoreUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Usage: KeyStoreUtil (loads from system keystore)
|
* Usage: KeyStoreUtil system (loads from system keystore)
|
||||||
* KeyStoreUtil foo.ks (loads from system keystore, and from foo.ks keystore if exists, else creates empty)
|
* KeyStoreUtil foo.ks (loads from system keystore, and from foo.ks keystore if exists, else creates empty)
|
||||||
* KeyStoreUtil certDir (loads from system keystore and all certs in certDir if exists)
|
|
||||||
* KeyStoreUtil import file.ks file.key alias keypw (imports private key from file to keystore)
|
* KeyStoreUtil import file.ks file.key alias keypw (imports private key from file to keystore)
|
||||||
* KeyStoreUtil export file.ks alias keypw (exports private key from keystore)
|
* KeyStoreUtil export file.ks alias keypw (exports private key from keystore)
|
||||||
* KeyStoreUtil keygen file.ks alias keypw (create keypair in keystore)
|
* KeyStoreUtil keygen file.ks alias keypw (create keypair in keystore)
|
||||||
* KeyStoreUtil keygen2 file.ks alias keypw (create keypair using I2PProvider)
|
* KeyStoreUtil keygen2 file.ks alias keypw (create keypair using I2PProvider)
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
if (args.length <= 0) {
|
||||||
|
usage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
if (args.length > 0 && "import".equals(args[0])) {
|
if ("import".equals(args[0])) {
|
||||||
testImport(args);
|
testImport(args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (args.length > 0 && "export".equals(args[0])) {
|
if ("export".equals(args[0])) {
|
||||||
testExport(args);
|
testExport(args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (args.length > 0 && "keygen".equals(args[0])) {
|
if ("keygen".equals(args[0])) {
|
||||||
testKeygen(args);
|
testKeygen(args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (args.length > 0 && "keygen2".equals(args[0])) {
|
if ("keygen2".equals(args[0])) {
|
||||||
testKeygen2(args);
|
testKeygen2(args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (args.length > 0 && "list".equals(args[0])) {
|
if ("list".equals(args[0])) {
|
||||||
listKeys(args);
|
listKeys(args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
File ksf = (args.length > 0) ? new File(args[0]) : null;
|
if ("create".equals(args[0])) {
|
||||||
if (ksf != null && !ksf.exists()) {
|
File ksf = (args.length == 2) ? new File(args[1]) : null;
|
||||||
createKeyStore(ksf, DEFAULT_KEYSTORE_PASSWORD);
|
if (ksf != null && !ksf.exists()) {
|
||||||
System.out.println("Created empty keystore " + ksf);
|
createKeyStore(ksf, DEFAULT_KEYSTORE_PASSWORD);
|
||||||
} else {
|
System.out.println("Created empty keystore " + ksf);
|
||||||
|
} else {
|
||||||
|
usage();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
File ksf = new File(args[0]);
|
||||||
|
if ("system".equals(args[0]) || ksf.isFile()) {
|
||||||
KeyStore ks = loadSystemKeyStore();
|
KeyStore ks = loadSystemKeyStore();
|
||||||
if (ks != null) {
|
if (ks != null) {
|
||||||
System.out.println("Loaded system keystore");
|
System.out.println("Loaded system keystore");
|
||||||
@@ -1326,12 +1336,27 @@ public final class KeyStoreUtil {
|
|||||||
} else {
|
} else {
|
||||||
System.out.println("FAIL");
|
System.out.println("FAIL");
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
usage();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
usage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void usage() {
|
||||||
|
System.err.println(
|
||||||
|
"Usage: KeyStoreUtil create keystore.ks (create empty keystore)\n" +
|
||||||
|
" KeyStoreUtil export keystore.ks alias keypw (exports private key from keystore)\n" +
|
||||||
|
" KeyStoreUtil import keystore.ks file.key alias keypw (imports private key from file to keystore)\n" +
|
||||||
|
" KeyStoreUtil keygen keystore.ks alias keypw (create keypair in keystore)\n" +
|
||||||
|
" KeyStoreUtil keygen2 keystore.ks alias keypw (create keypair using I2PProvider)\n" +
|
||||||
|
" KeyStoreUtil list keystore.ks (list contents)\n" +
|
||||||
|
" KeyStoreUtil system (loads from system keystore)\n" +
|
||||||
|
" KeyStoreUtil keystore.ks (loads from system keystore and from keystore.ks)");
|
||||||
|
}
|
||||||
|
|
||||||
private static void testImport(String[] args) throws Exception {
|
private static void testImport(String[] args) throws Exception {
|
||||||
File ksf = new File(args[1]);
|
File ksf = new File(args[1]);
|
||||||
InputStream in = new FileInputStream(args[2]);
|
InputStream in = new FileInputStream(args[2]);
|
||||||
@@ -1343,7 +1368,7 @@ public final class KeyStoreUtil {
|
|||||||
|
|
||||||
private static void testExport(String[] args) throws Exception {
|
private static void testExport(String[] args) throws Exception {
|
||||||
if (args.length != 4) {
|
if (args.length != 4) {
|
||||||
System.err.println("Usage: KeyStoreUtil export keystore.ks keyalias keypassword");
|
usage();
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
File ksf = new File(args[1]);
|
File ksf = new File(args[1]);
|
||||||
@@ -1396,7 +1421,7 @@ public final class KeyStoreUtil {
|
|||||||
|
|
||||||
private static void listKeys(String[] args) {
|
private static void listKeys(String[] args) {
|
||||||
if (args.length != 2) {
|
if (args.length != 2) {
|
||||||
System.err.println("Usage: KeyStoreUtil list keystore.ks");
|
usage();
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}
|
}
|
||||||
File ksf = new File(args[1]);
|
File ksf = new File(args[1]);
|
||||||
|
|||||||
Reference in New Issue
Block a user