@Override
public ServerSocket createServerSocket(int port, int backlog, InetAddress inetAddress) throws IOException {
this.initSSLContext();
SSLServerSocketFactory serverSocketFactory = this.sslContext.getServerSocketFactory();
SSLServerSocket serverSocket = (SSLServerSocket) serverSocketFactory.createServerSocket(port, backlog, inetAddress);
if (this.jsseSecurityDomain.getProtocols() != null)
serverSocket.setEnabledProtocols(this.jsseSecurityDomain.getProtocols());
if (this.jsseSecurityDomain.getCipherSuites() != null)
serverSocket.setEnabledCipherSuites(this.jsseSecurityDomain.getCipherSuites());
if (this.jsseSecurityDomain.isClientAuth() || this.require_mutual_auth)
serverSocket.setNeedClientAuth(true);
else
serverSocket.setWantClientAuth(this.request_mutual_auth);
return serverSocket;
}