# HG changeset patch # User andrew # Date 1478057514 0 # Node ID 1c4d5cb2096ae55106111da200b0bcad304f650c # Parent 3d53f19b48384e5252f4ec8891f7a3a82d77af2a PR3183: Support Fedora/RHEL system crypto policy diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/classes/java/security/Security.java --- openjdk/jdk/src/share/classes/java/security/Security.java Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/classes/java/security/Security.java Wed Nov 02 03:31:54 2016 +0000 @@ -43,6 +43,9 @@ * implementation-specific location, which is typically the properties file * {@code lib/security/java.security} in the Java installation directory. * + *

Additional default values of security properties are read from a + * system-specific location, if available.

+ * * @author Benjamin Renaud */ @@ -52,6 +55,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; @@ -93,6 +100,7 @@ if (sdebug != null) { sdebug.println("reading security properties file: " + propFile); + sdebug.println(props.toString()); } } catch (IOException e) { if (sdebug != null) { @@ -114,6 +122,31 @@ } if ("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 ("true".equalsIgnoreCase(props.getProperty ("security.overridePropertiesFile"))) { String extraPropFile = System.getProperty diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-aix --- openjdk/jdk/src/share/lib/security/java.security-aix Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/lib/security/java.security-aix Wed Nov 02 03:31:54 2016 +0000 @@ -276,6 +276,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=false + +# # Determines the default key and trust manager factory algorithms for # the javax.net.ssl package. # diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-linux --- openjdk/jdk/src/share/lib/security/java.security-linux Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/lib/security/java.security-linux Wed Nov 02 03:31:54 2016 +0000 @@ -276,6 +276,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. # diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-macosx --- openjdk/jdk/src/share/lib/security/java.security-macosx Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/lib/security/java.security-macosx Wed Nov 02 03:31:54 2016 +0000 @@ -279,6 +279,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=false + +# # Determines the default key and trust manager factory algorithms for # the javax.net.ssl package. # diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-solaris --- openjdk/jdk/src/share/lib/security/java.security-solaris Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/lib/security/java.security-solaris Wed Nov 02 03:31:54 2016 +0000 @@ -278,6 +278,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=false + +# # Determines the default key and trust manager factory algorithms for # the javax.net.ssl package. # diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-windows --- openjdk/jdk/src/share/lib/security/java.security-windows Wed Oct 26 03:51:39 2016 +0100 +++ openjdk/jdk/src/share/lib/security/java.security-windows Wed Nov 02 03:31:54 2016 +0000 @@ -279,6 +279,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=false + +# # Determines the default key and trust manager factory algorithms for # the javax.net.ssl package. #