Skip to content

Commit 0bd5ca9

Browse files
authored
RH2020290: Support TLS 1.3 in FIPS mode (#13)
Co-authored-by: Martin Balao <[email protected]> Reviewed-by: @gnu-andrew
1 parent 1e26894 commit 0bd5ca9

File tree

2 files changed

+24
-60
lines changed

2 files changed

+24
-60
lines changed

src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java

Lines changed: 22 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -537,40 +537,22 @@ private abstract static class AbstractTLSContext extends SSLContextImpl {
537537
private static final List<CipherSuite> serverDefaultCipherSuites;
538538

539539
static {
540-
if (SharedSecrets.getJavaSecuritySystemConfiguratorAccess()
541-
.isSystemFipsEnabled()) {
542-
// RH1860986: TLSv1.3 key derivation not supported with
543-
// the Security Providers available in system FIPS mode.
544-
supportedProtocols = Arrays.asList(
545-
ProtocolVersion.TLS12,
546-
ProtocolVersion.TLS11,
547-
ProtocolVersion.TLS10
548-
);
549-
550-
serverDefaultProtocols = getAvailableProtocols(
551-
new ProtocolVersion[] {
552-
ProtocolVersion.TLS12,
553-
ProtocolVersion.TLS11,
554-
ProtocolVersion.TLS10
555-
});
556-
} else {
557-
supportedProtocols = Arrays.asList(
558-
ProtocolVersion.TLS13,
559-
ProtocolVersion.TLS12,
560-
ProtocolVersion.TLS11,
561-
ProtocolVersion.TLS10,
562-
ProtocolVersion.SSL30,
563-
ProtocolVersion.SSL20Hello
564-
);
565-
566-
serverDefaultProtocols = getAvailableProtocols(
567-
new ProtocolVersion[] {
568-
ProtocolVersion.TLS13,
569-
ProtocolVersion.TLS12,
570-
ProtocolVersion.TLS11,
571-
ProtocolVersion.TLS10
572-
});
573-
}
540+
supportedProtocols = Arrays.asList(
541+
ProtocolVersion.TLS13,
542+
ProtocolVersion.TLS12,
543+
ProtocolVersion.TLS11,
544+
ProtocolVersion.TLS10,
545+
ProtocolVersion.SSL30,
546+
ProtocolVersion.SSL20Hello
547+
);
548+
549+
serverDefaultProtocols = getAvailableProtocols(
550+
new ProtocolVersion[] {
551+
ProtocolVersion.TLS13,
552+
ProtocolVersion.TLS12,
553+
ProtocolVersion.TLS11,
554+
ProtocolVersion.TLS10
555+
});
574556

575557
supportedCipherSuites = getApplicableSupportedCipherSuites(
576558
supportedProtocols);
@@ -861,23 +843,12 @@ private static List<ProtocolVersion> customizedProtocols(
861843
ProtocolVersion[] candidates;
862844
if (refactored.isEmpty()) {
863845
// Client and server use the same default protocols.
864-
if (SharedSecrets.getJavaSecuritySystemConfiguratorAccess()
865-
.isSystemFipsEnabled()) {
866-
// RH1860986: TLSv1.3 key derivation not supported with
867-
// the Security Providers available in system FIPS mode.
868-
candidates = new ProtocolVersion[] {
869-
ProtocolVersion.TLS12,
870-
ProtocolVersion.TLS11,
871-
ProtocolVersion.TLS10
872-
};
873-
} else {
874-
candidates = new ProtocolVersion[] {
875-
ProtocolVersion.TLS13,
876-
ProtocolVersion.TLS12,
877-
ProtocolVersion.TLS11,
878-
ProtocolVersion.TLS10
879-
};
880-
}
846+
candidates = new ProtocolVersion[] {
847+
ProtocolVersion.TLS13,
848+
ProtocolVersion.TLS12,
849+
ProtocolVersion.TLS11,
850+
ProtocolVersion.TLS10
851+
};
881852
} else {
882853
// Use the customized TLS protocols.
883854
candidates =

src/java.base/share/classes/sun/security/ssl/SunJSSE.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727

2828
import java.security.*;
2929
import java.util.*;
30-
31-
import jdk.internal.access.SharedSecrets;
3230
import static sun.security.util.SecurityConstants.PROVIDER_VER;
3331

3432
/**
@@ -104,13 +102,8 @@ private void doRegister() {
104102
"sun.security.ssl.SSLContextImpl$TLS11Context", null, null);
105103
ps("SSLContext", "TLSv1.2",
106104
"sun.security.ssl.SSLContextImpl$TLS12Context", null, null);
107-
if (!SharedSecrets.getJavaSecuritySystemConfiguratorAccess()
108-
.isSystemFipsEnabled()) {
109-
// RH1860986: TLSv1.3 key derivation not supported with
110-
// the Security Providers available in system FIPS mode.
111-
ps("SSLContext", "TLSv1.3",
112-
"sun.security.ssl.SSLContextImpl$TLS13Context", null, null);
113-
}
105+
ps("SSLContext", "TLSv1.3",
106+
"sun.security.ssl.SSLContextImpl$TLS13Context", null, null);
114107
ps("SSLContext", "TLS",
115108
"sun.security.ssl.SSLContextImpl$TLSContext",
116109
List.of("SSL"), null);

0 commit comments

Comments
 (0)