Github user pnowojski commented on a diff in the pull request:
https://github.com/apache/flink/pull/6355#discussion_r204329262
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/net/SSLUtils.java ---
@@ -249,14 +357,73 @@ public static SSLContext
createSSLServerContext(Configuration sslConfig) throws
// Set up key manager factory to use the server key
store
KeyManagerFactory kmf = KeyManagerFactory.getInstance(
-
KeyManagerFactory.getDefaultAlgorithm());
+ KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, certPassword.toCharArray());
+ return new SSLServerConfiguration(
+ sslProtocolVersion,
+ sslCipherSuites,
+ kmf,
+ sessionCacheSize,
+ sessionTimeoutMs,
+ handshakeTimeoutMs,
+ closeNotifyFlushTimeoutMs);
+ }
+
+ return null;
+ }
+
+ /**
+ * Creates the SSL Context for the server assuming SSL is configured.
+ *
+ * @param sslConfig
+ * The application configuration
+ * @return The SSLContext object which can be used by the ssl transport
server
+ * @throws Exception
+ * Thrown if there is any misconfiguration
+ */
+ @Nullable
+ public static SSLContext createSSLServerContext(SSLServerConfiguration
sslConfig) throws Exception {
+ Preconditions.checkNotNull(sslConfig);
+
+ LOG.debug("Creating server SSL context from configuration");
+ SSLContext serverSSLContext =
SSLContext.getInstance(sslConfig.sslProtocolVersion);
+
serverSSLContext.init(sslConfig.keyManagerFactory.getKeyManagers(), null, null);
+ if (sslConfig.sessionCacheSize >= 0) {
+
serverSSLContext.getServerSessionContext().setSessionCacheSize(sslConfig.sessionCacheSize);
+ }
+ if (sslConfig.sessionTimeoutMs >= 0) {
+
serverSSLContext.getServerSessionContext().setSessionTimeout(sslConfig.sessionTimeoutMs
/ 1000);
+ }
+
+ return serverSSLContext;
+ }
+
+ /**
+ * Creates the SSL Context for the server if SSL is configured.
+ *
+ * @param sslConfig
+ * The application configuration
+ * @return The SSLContext object which can be used by the ssl transport
server
+ * Returns null if SSL is disabled
+ * @throws Exception
+ * Thrown if there is any misconfiguration
+ */
+ @Nullable
+ public static SSLContext createSSLServerContext(Configuration
sslConfig) throws Exception {
+
+ Preconditions.checkNotNull(sslConfig);
+ SSLContext serverSSLContext = null;
+
+ if (getSSLEnabled(sslConfig)) {
--- End diff --
ditto: reverse if branch and `Optional`
---