82 lines
3.0 KiB
Diff
82 lines
3.0 KiB
Diff
--- openjdk/src/java.base/share/classes/java/security/Security.java 2021-03-16 07:15:49.742093294 +0100
|
|
+++ openjdk/src/java.base/share/classes/java/security/Security.java 2021-03-16 07:16:54.394507360 +0100
|
|
@@ -47,6 +47,9 @@
|
|
* implementation-specific location, which is typically the properties file
|
|
* {@code conf/security/java.security} in the Java installation directory.
|
|
*
|
|
+ * <p>Additional default values of security properties are read from a
|
|
+ * system-specific location, if available.</p>
|
|
+ *
|
|
* @author Benjamin Renaud
|
|
* @since 1.1
|
|
*/
|
|
@@ -57,6 +60,10 @@
|
|
private static final Debug sdebug =
|
|
Debug.getInstance("properties");
|
|
|
|
+ /* System property file*/
|
|
+ private static final String SYSTEM_PROPERTIES =
|
|
+ "/etc/crypto-policies/back-ends/java.config";
|
|
+
|
|
/* The java.security properties */
|
|
private static Properties props;
|
|
|
|
@@ -98,6 +105,7 @@
|
|
if (sdebug != null) {
|
|
sdebug.println("reading security properties file: " +
|
|
propFile);
|
|
+ sdebug.println(props.toString());
|
|
}
|
|
} catch (IOException e) {
|
|
if (sdebug != null) {
|
|
@@ -183,6 +191,33 @@
|
|
}
|
|
}
|
|
}
|
|
+
|
|
+ String disableSystemProps = System.getProperty("java.security.disableSystemPropertiesFile");
|
|
+ if (disableSystemProps == null &&
|
|
+ "true".equalsIgnoreCase(props.getProperty
|
|
+ ("security.useSystemPropertiesFile"))) {
|
|
+
|
|
+ // now load the system file, if it exists, so its values
|
|
+ // will win if they conflict with the earlier values
|
|
+ try (BufferedInputStream bis =
|
|
+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
|
|
+ props.load(bis);
|
|
+ loadedProps = true;
|
|
+
|
|
+ if (sdebug != null) {
|
|
+ sdebug.println("reading system security properties file " +
|
|
+ SYSTEM_PROPERTIES);
|
|
+ sdebug.println(props.toString());
|
|
+ }
|
|
+ } catch (IOException e) {
|
|
+ if (sdebug != null) {
|
|
+ sdebug.println
|
|
+ ("unable to load security properties from " +
|
|
+ SYSTEM_PROPERTIES);
|
|
+ e.printStackTrace();
|
|
+ }
|
|
+ }
|
|
+ }
|
|
|
|
if (!loadedProps) {
|
|
initializeStatic();
|
|
--- openjdk/src/java.base/share/conf/security/java.security 2021-03-16 07:15:49.798093653 +0100
|
|
+++ openjdk/src/java.base/share/conf/security/java.security 2021-03-16 11:38:01.416893125 +0100
|
|
@@ -336,6 +336,13 @@
|
|
security.overridePropertiesFile=true
|
|
|
|
#
|
|
+# Determines whether this properties file will be appended to
|
|
+# using the system properties file stored at
|
|
+# /etc/crypto-policies/back-ends/java.config
|
|
+#
|
|
+security.useSystemPropertiesFile=true
|
|
+
|
|
+#
|
|
# Determines the default key and trust manager factory algorithms for
|
|
# the javax.net.ssl package.
|
|
#
|