diff --git openjdk/src/java.base/share/classes/java/security/Security.java openjdk/src/java.base/share/classes/java/security/Security.java index f1633afb627..ce32c939253 100644 --- openjdk/src/java.base/share/classes/java/security/Security.java +++ openjdk/src/java.base/share/classes/java/security/Security.java @@ -32,6 +32,7 @@ import java.net.URL; import jdk.internal.event.EventHelper; import jdk.internal.event.SecurityPropertyModificationEvent; +import jdk.internal.access.JavaSecuritySystemConfiguratorAccess; import jdk.internal.access.SharedSecrets; import jdk.internal.util.StaticProperty; import sun.security.util.Debug; @@ -74,6 +75,15 @@ public final class Security { } static { + // Initialise here as used by code with system properties disabled + SharedSecrets.setJavaSecuritySystemConfiguratorAccess( + new JavaSecuritySystemConfiguratorAccess() { + @Override + public boolean isSystemFipsEnabled() { + return SystemConfigurator.isSystemFipsEnabled(); + } + }); + // doPrivileged here because there are multiple // things in initialize that might require privs. // (the FileInputStream call and the File.exists call, @@ -194,9 +204,8 @@ public final class Security { } String disableSystemProps = System.getProperty("java.security.disableSystemPropertiesFile"); - if (disableSystemProps == null && - "true".equalsIgnoreCase(props.getProperty - ("security.useSystemPropertiesFile"))) { + if ((disableSystemProps == null || "false".equalsIgnoreCase(disableSystemProps)) && + "true".equalsIgnoreCase(props.getProperty("security.useSystemPropertiesFile"))) { if (SystemConfigurator.configure(props)) { loadedProps = true; } diff --git openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java index 60fa75cab45..10b54aa4ce4 100644 --- openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java +++ openjdk/src/java.base/share/classes/java/security/SystemConfigurator.java @@ -38,8 +38,6 @@ import java.util.Map.Entry; import java.util.Properties; import java.util.regex.Pattern; -import jdk.internal.access.JavaSecuritySystemConfiguratorAccess; -import jdk.internal.access.SharedSecrets; import sun.security.util.Debug; /** @@ -65,16 +63,6 @@ final class SystemConfigurator { private static boolean systemFipsEnabled = false; - static { - SharedSecrets.setJavaSecuritySystemConfiguratorAccess( - new JavaSecuritySystemConfiguratorAccess() { - @Override - public boolean isSystemFipsEnabled() { - return SystemConfigurator.isSystemFipsEnabled(); - } - }); - } - /* * Invoked when java.security.Security class is initialized, if * java.security.disableSystemPropertiesFile property is not set and