You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2020/07/24 10:34:45 UTC

svn commit: r1880256 - in /turbine/fulcrum/trunk/yaafi-crypto: src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java xdocs/examples.xml

Author: gk
Date: Fri Jul 24 10:34:45 2020
New Revision: 1880256

URL: http://svn.apache.org/viewvc?rev=1880256&view=rev
Log:
- add debug info
- more complete examples

Modified:
    turbine/fulcrum/trunk/yaafi-crypto/src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java
    turbine/fulcrum/trunk/yaafi-crypto/xdocs/examples.xml

Modified: turbine/fulcrum/trunk/yaafi-crypto/src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/yaafi-crypto/src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java?rev=1880256&r1=1880255&r2=1880256&view=diff
==============================================================================
--- turbine/fulcrum/trunk/yaafi-crypto/src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java (original)
+++ turbine/fulcrum/trunk/yaafi-crypto/src/java/org/apache/fulcrum/jce/crypto/cli/CLI2.java Fri Jul 24 10:34:45 2020
@@ -115,8 +115,9 @@ public class CLI2 {
 	private static void printInfo() {
 		CryptoUtilJ8 cryptoUtilJ8 = CryptoUtilJ8.getInstance();
 		System.out.println("");
-		System.out.println("\t|Crypto factory class: \t" + cryptoUtilJ8.getCryptoStreamFactory().getClass());
+		System.out.println("\t| Default Crypto factory class: \t" + cryptoUtilJ8.getCryptoStreamFactory().getClass());
 		System.out.println("\t|_Default Algorithm used: \t" + cryptoUtilJ8.getCryptoStreamFactory().getAlgorithm());
+
 		List<String> algoShortList = Arrays.stream(CryptoParametersJ8.TYPES.values()).map(t -> t.toString())
 				.collect(Collectors.toList());
 		System.out.println("\t|Algorithms (shortcut) available: \t" + algoShortList);
@@ -139,6 +140,14 @@ public class CLI2 {
 								result:
 									CryptoParametersJ8.getSupportedAlgos(algoList, type, false)), type));
 		System.out.println("");
+		if (debug) {
+			Arrays.stream(CryptoParametersJ8.TYPES.values()).forEach(t -> {
+				CryptoUtilJ8 testcu = CryptoUtilJ8.getInstance(t);
+				System.out.println("\t| Crypto factory class: \t" + testcu.getCryptoStreamFactory().getClass());
+				System.out.println("\t|_Algorithm used: \t" + testcu.getCryptoStreamFactory().getAlgorithm());
+
+			});
+		}
 		System.out.println(
 				"\t|_ More Info: https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html\r\n");
 	}
@@ -151,21 +160,21 @@ public class CLI2 {
 		System.out.println(
 				"\r\n\t*** Command line tool for encrypting/decrypting strings/files ***\r\n\t*** algorithm based on "
 						+ CryptoParametersJ8.TYPES_IMPL.ALGORITHM_J8_PBE + "***\r\n");
-		System.out.println("\tjava -cp target\\classes; " + CLI2.class.getName()
+		System.out.println("\tjava -cp target\\classes " + CLI2.class.getName()
 				+ " <operation mode> <coding mode> <password> <path|string> [target]\r\n");
 		System.out.println(
 				"\tjava -jar target/fulcrum-yaafi-crypto-1.0.8-SNAPSHOT.jar <operation mode> <coding mode> <password> <path|string> [target]\r\n");
-		System.out.println("\t\t-------------------");
-		System.out.println("\t\toperation mode: file|string|info");
-		System.out.println("\t\tcoding mode: enc|dec|enc:GCM. Default algorithm is " + TYPES.PBE);
-		System.out.println("\t\t<password: string or empty:''");
-		System.out.println("\t\tcode|coderef: path|string");
-		System.out.println("\t\ttarget: optional\r\n");
-		System.out.println("\t\t-------------------");
+		System.out.println("\t-------------------");
+		System.out.println("\toperation mode: file|string|info");
+		System.out.println("\tcoding mode: enc|dec|enc:GCM. Default algorithm is " + TYPES.PBE);
+		System.out.println("\t<password: string or empty:''");
+		System.out.println("\tcode|coderef: path|string");
+		System.out.println("\ttarget: optional\r\n");
+		System.out.println("\t-------------------");
 		System.out.println("\t*** Usage: ***\r\n");
-		System.out.println("\t\t" + CLI2.class.getSimpleName() + " file [enc|dec] passwd source [target]");
-		System.out.println("\t\t" + CLI2.class.getSimpleName() + " string [enc|dec] passwd source");
-		System.out.println("\t\t" + CLI2.class.getSimpleName() + " info");
+		System.out.println("\t" + CLI2.class.getSimpleName() + " file [enc|dec] passwd source [target]");
+		System.out.println("\t" + CLI2.class.getSimpleName() + " string [enc|dec] passwd source");
+		System.out.println("\t" + CLI2.class.getSimpleName() + " info");
 	}
 
 	/**
@@ -368,4 +377,4 @@ public class CLI2 {
 		final Matcher matcher = HEXADECIMAL_PATTERN.matcher(input);
 		return matcher.matches();
 	}
-}
\ No newline at end of file
+}

Modified: turbine/fulcrum/trunk/yaafi-crypto/xdocs/examples.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/yaafi-crypto/xdocs/examples.xml?rev=1880256&r1=1880255&r2=1880256&view=diff
==============================================================================
--- turbine/fulcrum/trunk/yaafi-crypto/xdocs/examples.xml (original)
+++ turbine/fulcrum/trunk/yaafi-crypto/xdocs/examples.xml Fri Jul 24 10:34:45 2020
@@ -28,17 +28,43 @@
     <section name="Short Examples">
           <subsection name="Command line Usage">
               <p>
+Encrypt with default PCM the string "mysecretgeheim" and meta password "changeit", outputs encrypted string to stdout.
                 <source>
                 <![CDATA[
  java -classpath target/classes org.apache.fulcrum.jce.crypto.cli.CLI2 string enc changeit mysecretgeheim  
  ]]>
                 </source>
+ <source>
+                <![CDATA[
+ java -jar target/fulcrum-yaafi-crypto-<version>.jar string enc:GCM changeit mysecretgeheim  
+ ]]>
+                </source>
+This prints out the encrypted "mysecretgeheim".
+ <source>
+                <![CDATA[
+ java -jar target/fulcrum-yaafi-crypto-<version>.jar string dec:GCM changeit 88f8ecc93cc921672e13862d75f90c55a4cc2d823c36e6ac3da0225e397770f45d3944f6be859fe25d053a8442313a5a2581e7edf081030e  
+ ]]>
+                </source>
+This decrypts the result to stdout and prints information (supported type, matched type ..) to system.err.
          </p>
-          <p>An example using an ant build tool and property file is the provided Integration Test in pom.xml.
-          By default running this will write the encrypted password to src/filters/filter-integration-test.properties and the decrypted password to target/integration-test/filtered-pw.properties.  On the command line with custom password and meta password this is done like this (assuming -Dskip.pw.gen=false  -Dskip.pw.encrypt=false):
+	<p>CLI Usage Help:
+ <source>
+                <![CDATA[
+ java -jar target/fulcrum-yaafi-crypto-<version>.jar help 
+ ]]>
+                </source>
+ Information about supported cipher libs:
+                <source>
+                <![CDATA[
+ java -jar target/fulcrum-yaafi-crypto-<version>.jar info 
+ ]]>
+                </source>
+	</p>
+          <p>An example using an ant build tool and property file is provided in pom-xml with phase integration-test.
+          By default running this will write the encrypted password to target/integration-test/filter-integration-test.properties and the decrypted password to target/integration-test/filtered-pw.properties. You could play with this toll on the command line providing a custom secret and meta password like this (assuming -Dskip.pw.gen=false -Dskip.pw.encrypt=false):
                 <source> 
                 <![CDATA[
-mvn integration-test  -Dtest.password="xyz" -Dmeta.pw="abc"  
+mvn integration-test -Dtest.password="xyz" -Dmeta.pw="abc"  
  ]]>
                 </source>
          </p>
@@ -325,8 +351,7 @@ mvn clean
     <p>This example could be extended or adapted, eg. by using multiple passwords, or encrypting an entire file. 
        Have fun!
     </p>
-    <p>TODO Show gradle example..
-      </p>
+
     </subsection>
    </section>