Skip to content

Commit

Permalink
Replace JCEProviderInfo.java with a simpler one
Browse files Browse the repository at this point in the history
  • Loading branch information
ilmanzo committed Jan 24, 2025
1 parent 16473a2 commit a8afa0d
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 49 deletions.
53 changes: 53 additions & 0 deletions data/security/openjdk/GetJCEProviderInfo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Provider;
import java.security.Provider.Service;
import java.security.Security;

public class GetJCEProviderInfo
{
private static String getProviderVersion(Provider p) {
// Get Java version string (e.g. "1.8.0" or "11.0.2")
String javaVersion = System.getProperty("java.version");

// Parse major version:
// For 1.8.0 -> extract 8
// For 11.0.2 -> extract 11
int majorVersion;
if (javaVersion.startsWith("1.")) {
majorVersion = Integer.parseInt(javaVersion.substring(2, 3));
} else {
majorVersion = Integer.parseInt(javaVersion.split("\\.")[0]);
}

// Use appropriate method based on version
return majorVersion >= 9 ? p.getVersionStr() : String.valueOf(p.getVersion());
}

public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException
{
System.out.printf("JCE Provider Info: %s %s/%s on %s %s%n", System.getProperty("java.vm.name"),
System.getProperty("java.runtime.version"),
System.getProperty("java.vm.version"),
System.getProperty("os.name"),
System.getProperty("os.version"));

Provider[] providers;
System.out.printf("Listing all JCA Security Providers.%n");
providers = Security.getProviders();
if (providers == null || providers.length == 0)
{
System.out.printf("No Results.%n");
return;
}
for(Provider p : providers)
{
System.out.printf("--- Provider %s %s%n info %s%n", p.getName(), getProviderVersion(p), p.getInfo());
for(Service s : p.getServices())
{
System.out.printf(" + %s.%s : %s (%s)%n tostring=%s%n",
s.getType(), s.getAlgorithm(), s.getClassName(), s.getProvider().getName(), s.toString());
}
}
}
}
45 changes: 0 additions & 45 deletions data/security/openjdk/JCEProviderInfo.java

This file was deleted.

8 changes: 4 additions & 4 deletions lib/openjdktest.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2023 SUSE LLC
# Copyright 2025 SUSE LLC
# SPDX-License-Identifier: GPL-2.0-or-later

# Summary: Base module for openJDK test cases
Expand Down Expand Up @@ -52,9 +52,9 @@ sub configure_java_version {
sub run_crypto_test {
my ($version) = @_;

assert_script_run 'curl -O ' . data_url('security/openjdk/JCEProviderInfo.java');
script_run("javac JCEProviderInfo.java");
my $crypto = script_output("java JCEProviderInfo");
assert_script_run 'curl -O ' . data_url('security/openjdk/GetJCEProviderInfo.java');
script_run("javac GetJCEProviderInfo.java");
my $crypto = script_output("java GetJCEProviderInfo");
record_info("FAIL", "Cannot list all crypto providers", result => 'fail') if ($crypto !~ /Listing all JCA Security Providers/);

my $JDK_TCHECK = get_var("JDK_TCHECK", "https://gitlab.suse.de/qe-security/testing/-/raw/main/data/openjdk/Tcheck.java");
Expand Down

0 comments on commit a8afa0d

Please sign in to comment.