From 324aee0ff6e864d335ffc86f35ea17a30e36aeac Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Wed, 21 Jul 2021 00:04:49 +0800 Subject: [PATCH] feat: add bc support --- build.json | 5 +++-- .../java/me/hatter/tools/tinyencrypt/TinyEncryptArgs.java | 3 +++ .../java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java | 2 ++ .../hatter/tools/tinyencrypt/config/TinyEncryptConstant.java | 2 +- .../hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java | 4 ++++ 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/build.json b/build.json index a6cb2ca..3ff95c0 100644 --- a/build.json +++ b/build.json @@ -12,8 +12,9 @@ }, "repo": { "dependencies": [ - "me.hatter:commons:3.34", - "info.picocli:picocli:4.6.1" + "me.hatter:commons:3.36", + "info.picocli:picocli:4.6.1", + "org.bouncycastle:bcprov-jdk15on:1.69" ], "testDependencies": [ "junit:junit:4.12" diff --git a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptArgs.java b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptArgs.java index 29298bb..bae65fd 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptArgs.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptArgs.java @@ -40,6 +40,9 @@ public class TinyEncryptArgs { @CommandLine.Option(names = {"-P", "--pgp"}, description = "Decrypt use PGP") boolean pgp = false; + @CommandLine.Option(names = {"--use-jce"}, description = "Use JCE") + boolean useJce = false; + @CommandLine.Parameters(paramLabel = "FILE", description = "Encrypt or Decrypt files") File[] files; diff --git a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java index 835963f..537b929 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/TinyEncryptMain.java @@ -8,6 +8,7 @@ import me.hatter.tools.commons.io.RFile; import me.hatter.tools.commons.log.LogConfig; import me.hatter.tools.commons.log.LogTool; import me.hatter.tools.commons.log.LogTools; +import me.hatter.tools.commons.security.bc.BCUtil; import me.hatter.tools.commons.security.digest.Digests; import me.hatter.tools.commons.security.key.KeyPairTool; import me.hatter.tools.commons.security.key.KeyUtil; @@ -157,6 +158,7 @@ public class TinyEncryptMain { if (tinyEncryptArgs == null) { return; } + BCUtil.useBc(!tinyEncryptArgs.useJce); // ==================================================================================== if (tinyEncryptArgs.doInitConfig) { // --init-config doInitConfig(tinyEncryptArgs); diff --git a/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java b/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java index 57b8fdf..2817d8c 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/config/TinyEncryptConstant.java @@ -1,7 +1,7 @@ package me.hatter.tools.tinyencrypt.config; public class TinyEncryptConstant { - public static final String VERSION = "0.3.8"; + public static final String VERSION = "0.3.9"; public static final String ENC_FILE_EXT = ".tinyenc"; } diff --git a/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java b/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java index 8571256..67eafd6 100644 --- a/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java +++ b/src/main/java/me/hatter/tools/tinyencrypt/encrypt/EncryptedFileUtil.java @@ -69,9 +69,13 @@ public class EncryptedFileUtil { log.debug("Start process: " + pb.command()); Process p = pb.start(); p.waitFor(); + log.info("Finished command"); try { byte[] jsonBytes = IOUtil.readToBytes(p.getInputStream()); String jsonStr = new String(jsonBytes, StandardCharsets.UTF_8); + if (log.isDebugEnable()) { + log.debug("Read cmd JSON: " + jsonStr); + } JSONObject jo = JSON.parseObject(jsonStr); dataKey = Bytes.fromHex(jo.getString("text_hex")).bytes(); } catch (Exception e) {