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()); } }