Skip to content

Commit a3ce0cc

Browse files
franferraxgnu-andrew
authored andcommitted
RH2020290: Support TLS 1.3 in FIPS mode (openjdk#13)
Co-authored-by: Martin Balao <mbalao@redhat.com> Reviewed-by: @gnu-andrew
1 parent 6daa538 commit a3ce0cc

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
@@ -528,40 +528,22 @@ private abstract static class AbstractTLSContext extends SSLContextImpl {
528528
private static final List<CipherSuite> serverDefaultCipherSuites;
529529

530530
static {
531-
if (SharedSecrets.getJavaSecuritySystemConfiguratorAccess()
532-
.isSystemFipsEnabled()) {
533-
// RH1860986: TLSv1.3 key derivation not supported with
534-
// the Security Providers available in system FIPS mode.
535-
supportedProtocols = Arrays.asList(
536-
ProtocolVersion.TLS12,
537-
ProtocolVersion.TLS11,
538-
ProtocolVersion.TLS10
539-
);
540-
541-
serverDefaultProtocols = getAvailableProtocols(
542-
new ProtocolVersion[] {
543-
ProtocolVersion.TLS12,
544-
ProtocolVersion.TLS11,
545-
ProtocolVersion.TLS10
546-
});
547-
} else {
548-
supportedProtocols = Arrays.asList(
549-
ProtocolVersion.TLS13,
550-
ProtocolVersion.TLS12,
551-
ProtocolVersion.TLS11,
552-
ProtocolVersion.TLS10,
553-
ProtocolVersion.SSL30,
554-
ProtocolVersion.SSL20Hello
555-
);
556-
557-
serverDefaultProtocols = getAvailableProtocols(
558-
new ProtocolVersion[] {
559-
ProtocolVersion.TLS13,
560-
ProtocolVersion.TLS12,
561-
ProtocolVersion.TLS11,
562-
ProtocolVersion.TLS10
563-
});
564-
}
531+
supportedProtocols = Arrays.asList(
532+
ProtocolVersion.TLS13,
533+
ProtocolVersion.TLS12,
534+
ProtocolVersion.TLS11,
535+
ProtocolVersion.TLS10,
536+
ProtocolVersion.SSL30,
537+
ProtocolVersion.SSL20Hello
538+
);
539+
540+
serverDefaultProtocols = getAvailableProtocols(
541+
new ProtocolVersion[] {
542+
ProtocolVersion.TLS13,
543+
ProtocolVersion.TLS12,
544+
ProtocolVersion.TLS11,
545+
ProtocolVersion.TLS10
546+
});
565547

566548
supportedCipherSuites = getApplicableSupportedCipherSuites(
567549
supportedProtocols);
@@ -852,23 +834,12 @@ private static List<ProtocolVersion> customizedProtocols(
852834
ProtocolVersion[] candidates;
853835
if (refactored.isEmpty()) {
854836
// Client and server use the same default protocols.
855-
if (SharedSecrets.getJavaSecuritySystemConfiguratorAccess()
856-
.isSystemFipsEnabled()) {
857-
// RH1860986: TLSv1.3 key derivation not supported with
858-
// the Security Providers available in system FIPS mode.
859-
candidates = new ProtocolVersion[] {
860-
ProtocolVersion.TLS12,
861-
ProtocolVersion.TLS11,
862-
ProtocolVersion.TLS10
863-
};
864-
} else {
865-
candidates = new ProtocolVersion[] {
866-
ProtocolVersion.TLS13,
867-
ProtocolVersion.TLS12,
868-
ProtocolVersion.TLS11,
869-
ProtocolVersion.TLS10
870-
};
871-
}
837+
candidates = new ProtocolVersion[] {
838+
ProtocolVersion.TLS13,
839+
ProtocolVersion.TLS12,
840+
ProtocolVersion.TLS11,
841+
ProtocolVersion.TLS10
842+
};
872843
} else {
873844
// Use the customized TLS protocols.
874845
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)