From 0c2a8e92445c5fd9c358acd057f7d61cb5bcf232 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Tue, 17 Sep 2019 11:05:48 +0000 Subject: [PATCH] Util: Add sigtype/enctype help to PKF remove dead code from SU3File help --- core/java/src/net/i2p/crypto/SU3File.java | 2 -- .../java/src/net/i2p/data/PrivateKeyFile.java | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/core/java/src/net/i2p/crypto/SU3File.java b/core/java/src/net/i2p/crypto/SU3File.java index 21f0cd7bc4..ce84e25fcc 100644 --- a/core/java/src/net/i2p/crypto/SU3File.java +++ b/core/java/src/net/i2p/crypto/SU3File.java @@ -688,8 +688,6 @@ public class SU3File { buf.append(" ").append(t).append("\t(code: ").append(t.getCode()).append(')'); if (t.getCode() == DEFAULT_SIG_CODE) buf.append(" DEFAULT"); - if (!t.isAvailable()) - buf.append(" UNAVAILABLE"); buf.append('\n'); } buf.append("Available content types (-c):\n"); diff --git a/core/java/src/net/i2p/data/PrivateKeyFile.java b/core/java/src/net/i2p/data/PrivateKeyFile.java index 9e3d63ed87..6be92a9d6e 100644 --- a/core/java/src/net/i2p/data/PrivateKeyFile.java +++ b/core/java/src/net/i2p/data/PrivateKeyFile.java @@ -12,6 +12,7 @@ import java.io.OutputStreamWriter; import java.security.GeneralSecurityException; import java.security.NoSuchAlgorithmException; import java.util.Date; +import java.util.EnumSet; import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -32,6 +33,7 @@ import net.i2p.crypto.DSAEngine; import net.i2p.crypto.EncType; import net.i2p.crypto.KeyGenerator; import net.i2p.crypto.KeyPair; +import net.i2p.crypto.SigAlgo; import net.i2p.crypto.SigType; import net.i2p.util.OrderedProperties; import net.i2p.util.RandomSource; @@ -332,13 +334,13 @@ public class PrivateKeyFile { private static void usage() { System.err.println("Usage: PrivateKeyFile filename (generates if nonexistent, then prints)\n" + - " \ncertificate options:\n" + + "\ncertificate options:\n" + " -h (generates if nonexistent, adds hashcash cert)\n" + " -n (changes to null cert)\n" + " -s signwithdestfile (generates if nonexistent, adds cert signed by 2nd dest)\n" + " -u (changes to unknown cert)\n" + " -x (changes to hidden cert)\n" + - " \nother options:\n" + + "\nother options:\n" + " -a example.i2p (generate addressbook authentication string)\n" + " -c sigtype (specify sig type of destination)\n" + " -d days (specify expiration in days of offline sig, default 365)\n" + @@ -348,6 +350,30 @@ public class PrivateKeyFile { " -r sigtype (specify sig type of transient key, default Ed25519)\n" + " -t sigtype (changes to KeyCertificate of the given sig type)\n" + ""); + StringBuilder buf = new StringBuilder(256); + buf.append("Available signature types:\n"); + for (SigType t : EnumSet.allOf(SigType.class)) { + if (!t.isAvailable()) + continue; + if (t.getBaseAlgorithm().equals(SigAlgo.RSA)) + continue; + if (t.getCode() == 8) + continue; + buf.append(" ").append(t).append("\t(code: ").append(t.getCode()).append(')'); + if (t.getCode() == 0) + buf.append(" DEFAULT"); + buf.append('\n'); + } + buf.append("\nAvailable encryption types:\n"); + for (EncType t : EnumSet.allOf(EncType.class)) { + if (!t.isAvailable()) + continue; + buf.append(" ").append(t).append("\t(code: ").append(t.getCode()).append(')'); + if (t.getCode() == 0) + buf.append(" DEFAULT"); + buf.append('\n'); + } + System.out.println(buf.toString()); } public PrivateKeyFile(String file) { -- GitLab