Class DelegatingSSLSocketFactory

java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
org.apache.hadoop.security.ssl.DelegatingSSLSocketFactory

public final class DelegatingSSLSocketFactory extends SSLSocketFactory
A SSLSocketFactory that can delegate to various SSL implementations. Specifically, either OpenSSL or JSSE can be used. OpenSSL offers better performance than JSSE and is made available via the wildlfy-openssl library.

The factory has several different modes of operation:

  • OpenSSL: Uses the wildly-openssl library to delegate to the system installed OpenSSL. If the wildfly-openssl integration is not properly setup, an exception is thrown.
  • Default: Attempts to use the OpenSSL mode, if it cannot load the necessary libraries, it falls back to the Default_JSEE mode.
  • Default_JSSE: Delegates to the JSSE implementation of SSL, but it disables the GCM cipher when running on Java 8.
  • Default_JSSE_with_GCM: Delegates to the JSSE implementation of SSL with no modification to the list of enabled ciphers.
In order to load OpenSSL, applications must ensure the wildfly-openssl artifact is on the classpath. Currently, only ABFS declares wildfly-openssl as an explicit dependency.