Skip to content

Commit d198581

Browse files
committed
Merge latest openj9 into openj9-staging
Signed-off-by: J9 Build <[email protected]>
2 parents 1f10b18 + 131ff59 commit d198581

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

closed/src/java.base/share/classes/openj9/internal/security/RestrictedSecurity.java

+12
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,12 @@ private static void setProperties(Properties props) {
472472
propsMapping.put("jdk.tls.legacyAlgorithms", restricts.jdkTlsLegacyAlgorithms);
473473
propsMapping.put("jdk.certpath.disabledAlgorithms", restricts.jdkCertpathDisabledAlgorithms);
474474
propsMapping.put("jdk.security.legacyAlgorithm", restricts.jdkSecurityLegacyAlgorithm);
475+
String fipsMode = System.getProperty("com.ibm.fips.mode");
476+
if (fipsMode == null) {
477+
System.setProperty("com.ibm.fips.mode", restricts.jdkFipsMode);
478+
} else if (!fipsMode.equals(restricts.jdkFipsMode)) {
479+
printStackTraceAndExit("Property com.ibm.fips.mode is incompatible with semeru.customprofile and semeru.fips properties");
480+
}
475481

476482
for (Map.Entry<String, String> entry : propsMapping.entrySet()) {
477483
String jdkPropsName = entry.getKey();
@@ -593,6 +599,8 @@ private static final class RestrictedSecurityProperties {
593599
String jdkSecureRandomProvider;
594600
String jdkSecureRandomAlgorithm;
595601

602+
String jdkFipsMode;
603+
596604
// Provider with argument (provider name + optional argument).
597605
private final List<String> providers;
598606
// Provider without argument.
@@ -749,6 +757,8 @@ private void initProperties() {
749757
securityProps.getProperty(profileID + ".securerandom.provider"));
750758
jdkSecureRandomAlgorithm = parseProperty(
751759
securityProps.getProperty(profileID + ".securerandom.algorithm"));
760+
jdkFipsMode = parseProperty(
761+
securityProps.getProperty(profileID + ".fips.mode"));
752762

753763
if (debug != null) {
754764
debug.println("\tProperties of restricted security profile successfully loaded.");
@@ -1068,6 +1078,8 @@ private void printProfile(String profileToPrint) {
10681078
securityProps.getProperty(profileToPrint + ".desc.default"));
10691079
printProperty(profileToPrint + ".desc.fips: ",
10701080
securityProps.getProperty(profileToPrint + ".desc.fips"));
1081+
printProperty(profileToPrint + ".fips.mode: ",
1082+
securityProps.getProperty(profileToPrint + ".fips.mode"));
10711083
printProperty(profileToPrint + ".desc.number: ",
10721084
parseProperty(securityProps.getProperty(profileToPrint + ".desc.number")));
10731085
printProperty(profileToPrint + ".desc.policy: ",

src/java.base/share/conf/security/java.security

+3
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ RestrictedSecurity.NSS.140-2.desc.fips = true
9797
RestrictedSecurity.NSS.140-2.desc.number = Certificate #4413
9898
RestrictedSecurity.NSS.140-2.desc.policy = https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4413
9999
RestrictedSecurity.NSS.140-2.desc.sunsetDate = 2026-09-21
100+
RestrictedSecurity.NSS.140-2.fips.mode = 140-2
100101

101102
RestrictedSecurity.NSS.140-2.tls.disabledNamedCurves =
102103
RestrictedSecurity.NSS.140-2.tls.disabledAlgorithms = \
@@ -162,6 +163,8 @@ RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.desc.fips = true
162163
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.desc.number = Certificate #XXX
163164
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.desc.policy = https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/
164165
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.desc.sunsetDate = 2026-09-21
166+
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.fips.mode = 140-3
167+
165168
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.tls.disabledNamedCurves =
166169
RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3.tls.disabledAlgorithms = \
167170
3DES_EDE_CBC, \

0 commit comments

Comments
 (0)