Skip to content

Commit 7502cec

Browse files
chaitalicodchaitalithombare
andauthored
ATLAS-5047: ATLAS- Support TLS 1.3 (#364)
Co-authored-by: chaitalithombare <[email protected]>
1 parent ef9b9ae commit 7502cec

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

intg/src/main/java/org/apache/atlas/security/SecurityProperties.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,12 @@ public final class SecurityProperties {
4040
public static final String SSL_CLIENT_PROPERTIES = "ssl-client.xml";
4141
public static final String BIND_ADDRESS = "atlas.server.bind.address";
4242
public static final String ATLAS_SSL_EXCLUDE_CIPHER_SUITES = "atlas.ssl.exclude.cipher.suites";
43+
public static final String ATLAS_SSL_ENABLED_ALGORITHMS = "atlas.ssl.enabled.algorithms";
4344
public static final List<String> DEFAULT_CIPHER_SUITES = Arrays.asList(".*NULL.*", ".*RC4.*", ".*MD5.*", ".*DES.*", ".*DSS.*");
4445
public static final String ATLAS_SSL_EXCLUDE_PROTOCOLS = "atlas.ssl.exclude.protocols";
46+
public static final String ATLAS_SSL_ENABLED_PROTOCOLS = "atlas.ssl.enabled.protocols";
4547
public static final String[] DEFAULT_EXCLUDE_PROTOCOLS = new String[] {"TLSv1", "TLSv1.1"};
48+
public static final String[] ATLAS_SSL_DEFAULT_PROTOCOL = new String[] { "TLSv1.2" };
4649

4750
private SecurityProperties() {
4851
}

webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555

5656
import static org.apache.atlas.security.SecurityProperties.ATLAS_SSL_EXCLUDE_CIPHER_SUITES;
5757
import static org.apache.atlas.security.SecurityProperties.ATLAS_SSL_EXCLUDE_PROTOCOLS;
58+
import static org.apache.atlas.security.SecurityProperties.ATLAS_SSL_ENABLED_ALGORITHMS;
59+
import static org.apache.atlas.security.SecurityProperties.ATLAS_SSL_ENABLED_PROTOCOLS;
60+
import static org.apache.atlas.security.SecurityProperties.ATLAS_SSL_DEFAULT_PROTOCOL;
5861
import static org.apache.atlas.security.SecurityProperties.CLIENT_AUTH_KEY;
5962
import static org.apache.atlas.security.SecurityProperties.DEFATULT_TRUSTORE_FILE_LOCATION;
6063
import static org.apache.atlas.security.SecurityProperties.DEFAULT_CIPHER_SUITES;
@@ -117,6 +120,17 @@ protected Connector getConnector(String host, int port) throws IOException {
117120
sslContextFactory.addExcludeProtocols(excludedProtocols);
118121
}
119122

123+
List<Object> enabledCiphersList = config.getList(ATLAS_SSL_ENABLED_ALGORITHMS);
124+
if (enabledCiphersList != null && !enabledCiphersList.isEmpty()) {
125+
sslContextFactory.setIncludeCipherSuites(enabledCiphersList.toArray(new String[enabledCiphersList.size()]));
126+
}
127+
String[] enabledProtocols = config.containsKey(ATLAS_SSL_ENABLED_PROTOCOLS) ?
128+
config.getStringArray(ATLAS_SSL_ENABLED_PROTOCOLS) : ATLAS_SSL_DEFAULT_PROTOCOL;
129+
130+
if (enabledProtocols != null && enabledProtocols.length > 0) {
131+
sslContextFactory.setIncludeProtocols(enabledProtocols);
132+
}
133+
120134
// SSL HTTP Configuration
121135
// HTTP Configuration
122136
HttpConfiguration httpConfig = new HttpConfiguration();

0 commit comments

Comments
 (0)