This is an automated email from the ASF dual-hosted git repository.

jbarrett pushed a commit to branch wip/cryptoinfo
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git

commit d1f5f3720d76bff57016cd2112b99a921619f7c2
Author: Jacob Barrett <jbarr...@pivotal.io>
AuthorDate: Tue Mar 1 12:04:30 2022 -0800

    Improve cryptoinfo.
---
 cryptoinfo/build.gradle                            |  8 +++
 .../apache/geode/benchmarks/cryptoinfo/Main.java   | 64 +++++++++++++++-------
 2 files changed, 52 insertions(+), 20 deletions(-)

diff --git a/cryptoinfo/build.gradle b/cryptoinfo/build.gradle
index 58af0566..782d3840 100644
--- a/cryptoinfo/build.gradle
+++ b/cryptoinfo/build.gradle
@@ -24,3 +24,11 @@ compileJava {
   options.compilerArgs << '-Xlint:unchecked' << "-Werror"
   options.deprecation = true
 }
+
+jar {
+  manifest {
+    attributes(
+        'Main-Class': 'org.apache.geode.benchmarks.cryptoinfo.Main'
+    )
+  }
+}
\ No newline at end of file
diff --git 
a/cryptoinfo/src/main/java/org/apache/geode/benchmarks/cryptoinfo/Main.java 
b/cryptoinfo/src/main/java/org/apache/geode/benchmarks/cryptoinfo/Main.java
index c63ae147..b63d4dea 100644
--- a/cryptoinfo/src/main/java/org/apache/geode/benchmarks/cryptoinfo/Main.java
+++ b/cryptoinfo/src/main/java/org/apache/geode/benchmarks/cryptoinfo/Main.java
@@ -15,43 +15,67 @@
 
 package org.apache.geode.benchmarks.cryptoinfo;
 
+import static java.lang.System.getProperty;
+
 import java.io.PrintStream;
 import java.security.NoSuchAlgorithmException;
 import java.security.Provider;
 
 import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLParameters;
 
 public class Main {
-  public static void main(String[] args) throws NoSuchAlgorithmException {
-    SSLContext context = SSLContext.getDefault();
+  public static void main(final String[] args) throws NoSuchAlgorithmException 
{
+    final SSLContext context = SSLContext.getDefault();
     final PrintStream out = System.out;
-    out.println("Provider: ");
-    printProvider(out, context.getProvider());
-    out.println("SSL Parameters: ");
-    printSSLParameters(out, context.getSupportedSSLParameters());
+    indentedPrintLine(out, 0, "Java:");
+    printJavaInfo(out, 1);
+    indentedPrintLine(out, 0, "Provider: ");
+    printProvider(out, 1, context.getProvider());
+    indentedPrintLine(out, 0, "SSL Parameters: ");
+    printSSLParameters(out, 1,  context.getSupportedSSLParameters());
+    indentedPrintLine(out, 0, "SSL Engine: ");
+    printSSLEngine(out, 1, context.createSSLEngine());
+  }
+
+  private static void indentedPrintLine(final PrintStream out, final int 
depth, final String x) {
+    for (int i = 0; i < depth; ++i) {
+      out.print("  ");
+    }
+    out.println(x);
+  }
+
+  private static void printSSLEngine(final PrintStream out, final int depth, 
final SSLEngine sslEngine) {
+    indentedPrintLine(out, depth, "Enabled Protocols: ");
+    printStrings(out, depth + 1, sslEngine.getEnabledProtocols());
+    indentedPrintLine(out, depth, "Enabled Cipher Suites: ");
+    printStrings(out, depth + 1, sslEngine.getEnabledCipherSuites());
+  }
+
+  private static void printJavaInfo(final PrintStream out, final int depth) {
+    indentedPrintLine(out, depth, getProperty("java.home"));
+    indentedPrintLine(out,depth , getProperty("java.vendor"));
+    indentedPrintLine(out,depth , getProperty("java.version"));
   }
 
-  private static void printSSLParameters(final PrintStream out, final 
SSLParameters sslParameters) {
-    out.println("Protocols:");
-    printStrings(out, sslParameters.getProtocols());
-    out.println("Cipher Suites:");
-    printStrings(out, sslParameters.getCipherSuites());
+  private static void printSSLParameters(final PrintStream out, final int 
depth, final SSLParameters sslParameters) {
+    indentedPrintLine(out, depth, "Protocols:");
+    printStrings(out, depth + 1,  sslParameters.getProtocols());
+    indentedPrintLine(out, depth, "Cipher Suites:");
+    printStrings(out, depth+1, sslParameters.getCipherSuites());
   }
 
-  private static void printStrings(PrintStream out, String[] strings) {
+  private static void printStrings(PrintStream out, final int depth, String[] 
strings) {
     for (String string : strings) {
-      out.println(string);
+      indentedPrintLine(out, depth, string);
     }
   }
 
-  private static void printProvider(final PrintStream out, final Provider 
provider) {
-    out.print("Name: ");
-    out.println(provider.getName());
-    out.print("Info: ");
-    out.println(provider.getInfo());
-    out.print("Version: ");
-    out.println(provider.getVersion());
+  private static void printProvider(final PrintStream out, final int depth, 
final Provider provider) {
+    indentedPrintLine(out, depth, "Name: " + provider.getName());
+    indentedPrintLine(out, depth, "Info: " + provider.getInfo());
+    indentedPrintLine(out, depth, "Version: " + provider.getVersion());
   }
 
 }

Reply via email to