@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class InMemoryListenerConfig extends java.lang.Object
SSLUtil
class can
make it easy to create the necessary socket factories.Constructor and Description |
---|
InMemoryListenerConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ServerSocketFactory serverSocketFactory,
javax.net.SocketFactory clientSocketFactory,
javax.net.ssl.SSLSocketFactory startTLSSocketFactory)
Creates a new in-memory directory server listener configuration with the
provided settings.
|
InMemoryListenerConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ServerSocketFactory serverSocketFactory,
javax.net.SocketFactory clientSocketFactory,
javax.net.ssl.SSLSocketFactory startTLSSocketFactory,
boolean requestClientCertificate,
boolean requireClientCertificate)
Creates a new in-memory directory server listener configuration with the
provided settings.
|
Modifier and Type | Method and Description |
---|---|
static InMemoryListenerConfig |
createLDAPConfig(java.lang.String listenerName)
Creates a new listener configuration that will listen for unencrypted LDAP
communication on an automatically-selected port on all available addresses.
|
static InMemoryListenerConfig |
createLDAPConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ssl.SSLSocketFactory startTLSSocketFactory)
Creates a new listener configuration that will listen for unencrypted LDAP
communication, and may optionally support StartTLS.
|
static InMemoryListenerConfig |
createLDAPConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ssl.SSLSocketFactory startTLSSocketFactory,
boolean requestClientCertificate,
boolean requireClientCertificate)
Creates a new listener configuration that will listen for unencrypted LDAP
communication, and may optionally support StartTLS.
|
static InMemoryListenerConfig |
createLDAPConfig(java.lang.String listenerName,
int listenPort)
Creates a new listener configuration that will listen for unencrypted LDAP
communication on the specified port on all available addresses.
|
static InMemoryListenerConfig |
createLDAPSConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ssl.SSLServerSocketFactory serverSocketFactory,
javax.net.ssl.SSLSocketFactory clientSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted
LDAP communication on an automatically-selected port on all available
addresses.
|
static InMemoryListenerConfig |
createLDAPSConfig(java.lang.String listenerName,
java.net.InetAddress listenAddress,
int listenPort,
javax.net.ssl.SSLServerSocketFactory serverSocketFactory,
javax.net.ssl.SSLSocketFactory clientSocketFactory,
boolean requestClientCertificate,
boolean requireClientCertificate)
Creates a new listener configuration that will listen for SSL-encrypted
LDAP communication on an automatically-selected port on all available
addresses.
|
static InMemoryListenerConfig |
createLDAPSConfig(java.lang.String listenerName,
int listenPort,
javax.net.ssl.SSLServerSocketFactory serverSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted
LDAP communication on the specified port on all available addresses.
|
static InMemoryListenerConfig |
createLDAPSConfig(java.lang.String listenerName,
javax.net.ssl.SSLServerSocketFactory serverSocketFactory)
Creates a new listener configuration that will listen for SSL-encrypted
LDAP communication on an automatically-selected port on all available
addresses.
|
javax.net.SocketFactory |
getClientSocketFactory()
Retrieves the socket factory that should be used to create client
connections to the server, if defined.
|
java.net.InetAddress |
getListenAddress()
Retrieves the address on which the listener should accept connections from
clients, if defined.
|
java.lang.String |
getListenerName()
Retrieves the name for this listener configuration.
|
int |
getListenPort()
Retrieves the port on which the listener should accept connections from
clients, if defined.
|
javax.net.ServerSocketFactory |
getServerSocketFactory()
Retrieves the socket factory that should be used to create sockets when
accepting client connections, if defined.
|
javax.net.ssl.SSLSocketFactory |
getStartTLSSocketFactory()
Retrieves the socket factory that should be used to add StartTLS encryption
to existing connections, if defined.
|
boolean |
requestClientCertificate()
Indicates whether the listener should request that the client present its
own certificate chain during TLS negotiation.
|
boolean |
requireClientCertificate()
Indicates whether the listener should require that the client present its
own certificate chain during TLS negotiation and should fail negotiation
if no certificate chain was provided.
|
java.lang.String |
toString()
Retrieves a string representation of this listener configuration.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this listener configuration to the
provided buffer.
|
public InMemoryListenerConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @Nullable javax.net.ServerSocketFactory serverSocketFactory, @Nullable javax.net.SocketFactory clientSocketFactory, @Nullable javax.net.ssl.SSLSocketFactory startTLSSocketFactory) throws LDAPException
listenerName
- The name to assign to this listener. It
must not be null
and must not be the
same as the name for any other listener
configured in the server.listenAddress
- The address on which the listener should
accept connections from clients. It may be
null
to indicate that it should
accept connections on all addresses on all
interfaces.listenPort
- The port on which the listener should accept
connections from clients. It may be 0 to
indicate that the server should
automatically choose an available port.serverSocketFactory
- The socket factory that should be used to
create sockets when accepting client
connections. It may be null
if the
JVM-default server socket factory should be
used.clientSocketFactory
- The socket factory that should be used to
create client connections to the server. It
may be null
if the JVM-default
socket factory should be used.startTLSSocketFactory
- The socket factory that should be used to
add StartTLS encryption to existing
connections. It may be null
if
StartTLS is not to be supported on this
listener, and should be null
if the
server socket factory already provides some
other form of communication security.LDAPException
- If the provided listener name is null
or
the configured listen port is out of range.public InMemoryListenerConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @Nullable javax.net.ServerSocketFactory serverSocketFactory, @Nullable javax.net.SocketFactory clientSocketFactory, @Nullable javax.net.ssl.SSLSocketFactory startTLSSocketFactory, boolean requestClientCertificate, boolean requireClientCertificate) throws LDAPException
listenerName
- The name to assign to this listener. It
must not be null
and must not be
the same as the name for any other
listener configured in the server.listenAddress
- The address on which the listener should
accept connections from clients. It may
be null
to indicate that it
should accept connections on all
addresses on all interfaces.listenPort
- The port on which the listener should
accept connections from clients. It may
be 0 to indicate that the server should
automatically choose an available port.serverSocketFactory
- The socket factory that should be used to
create sockets when accepting client
connections. It may be null
if
the JVM-default server socket factory
should be used.clientSocketFactory
- The socket factory that should be used to
create client connections to the server.
It may be null
if the JVM-default
socket factory should be used.startTLSSocketFactory
- The socket factory that should be used to
add StartTLS encryption to existing
connections. It may be null
if
StartTLS is not to be supported on this
listener, and should be null
if
the server socket factory already
provides some other form of communication
security.requestClientCertificate
- Indicates whether the listener should
request that the client present its own
certificate chain during TLS negotiation.
This will be ignored for non-TLS-based
connections.requireClientCertificate
- Indicates whether the listener should
require that the client present its own
certificate chain during TLS negotiation,
and should fail negotiation if the client
does not present one. This will be
ignored for non-TLS-based connections or
if requestClientCertificate
is
false
.LDAPException
- If the provided listener name is null
or
the configured listen port is out of range.@NotNull public static InMemoryListenerConfig createLDAPConfig(@NotNull java.lang.String listenerName) throws LDAPException
listenerName
- The name to use for the listener. It must not be
null
.LDAPException
- If the provided name is null
.@NotNull public static InMemoryListenerConfig createLDAPConfig(@NotNull java.lang.String listenerName, int listenPort) throws LDAPException
listenerName
- The name to use for the listener. It must not be
null
.listenPort
- The port on which the listener should accept
connections from clients. It may be 0 to indicate
that the server should automatically choose an
available port.LDAPException
- If the provided listener name is null
or
the configured listen port is out of range.@NotNull public static InMemoryListenerConfig createLDAPConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @Nullable javax.net.ssl.SSLSocketFactory startTLSSocketFactory) throws LDAPException
listenerName
- The name to assign to this listener. It
must not be null
and must not be the
same as the name for any other listener
configured in the server.listenAddress
- The address on which the listener should
accept connections from clients. It may be
null
to indicate that it should
accept connections on all addresses on all
interfaces.listenPort
- The port on which the listener should accept
connections from clients. It may be 0 to
indicate that the server should
automatically choose an available port.startTLSSocketFactory
- The socket factory that should be used to
add StartTLS encryption to an existing
connection. It may be null
if
StartTLS is not to be supported on this
listener, and should be null
if the
server socket factory already provides some
other form of communication security.LDAPException
- If the provided listener name is null
or
the configured listen port is out of range.@NotNull public static InMemoryListenerConfig createLDAPConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @Nullable javax.net.ssl.SSLSocketFactory startTLSSocketFactory, boolean requestClientCertificate, boolean requireClientCertificate) throws LDAPException
listenerName
- The name to assign to this listener. It
must not be null
and must not be
the same as the name for any other
listener configured in the server.listenAddress
- The address on which the listener should
accept connections from clients. It may
be null
to indicate that it
should accept connections on all
addresses on all interfaces.listenPort
- The port on which the listener should
accept connections from clients. It may
be 0 to indicate that the server should
automatically choose an available port.startTLSSocketFactory
- The socket factory that should be used to
add StartTLS encryption to an existing
connection. It may be null
if
StartTLS is not to be supported on this
listener, and should be null
if
the server socket factory already
provides some other form of communication
security.requestClientCertificate
- Indicates whether the listener should
request that the client present its own
certificate chain during TLS negotiation.
This will be ignored for non-TLS-based
connections.requireClientCertificate
- Indicates whether the listener should
require that the client present its own
certificate chain during TLS negotiation,
and should fail negotiation if the client
does not present one. This will be
ignored for non-TLS-based connections or
if requestClientCertificate
is
false
.LDAPException
- If the provided listener name is null
or
the configured listen port is out of range.@NotNull public static InMemoryListenerConfig createLDAPSConfig(@NotNull java.lang.String listenerName, @NotNull javax.net.ssl.SSLServerSocketFactory serverSocketFactory) throws LDAPException
listenerName
- The name to use for the listener. It must not
be null
.serverSocketFactory
- The SSL server socket factory that will be
used for accepting SSL-based connections from
clients. It must not be null
.LDAPException
- If the provided name is null
.@NotNull public static InMemoryListenerConfig createLDAPSConfig(@NotNull java.lang.String listenerName, int listenPort, @NotNull javax.net.ssl.SSLServerSocketFactory serverSocketFactory) throws LDAPException
listenerName
- The name to use for the listener. It must not
be null
.listenPort
- The port on which the listener should accept
connections from clients. It may be 0 to
indicate that the server should
automatically choose an available port.serverSocketFactory
- The SSL server socket factory that will be
used for accepting SSL-based connections from
clients. It must not be null
.LDAPException
- If the provided name is null
.@NotNull public static InMemoryListenerConfig createLDAPSConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @NotNull javax.net.ssl.SSLServerSocketFactory serverSocketFactory, @Nullable javax.net.ssl.SSLSocketFactory clientSocketFactory) throws LDAPException
listenerName
- The name to use for the listener. It must not
be null
.listenAddress
- The address on which the listener should
accept connections from clients. It may be
null
to indicate that it should
accept connections on all addresses on all
interfaces.listenPort
- The port on which the listener should accept
connections from clients. It may be 0 to
indicate that the server should
automatically choose an available port.serverSocketFactory
- The SSL server socket factory that will be
used for accepting SSL-based connections from
clients. It must not be null
.clientSocketFactory
- The SSL socket factory that will be used to
create secure connections to the server. It
may be null
if a default "trust all"
socket factory should be used.LDAPException
- If the provided name or server socket factory is
null
, or an error occurs while attempting to create a
client socket factory.@NotNull public static InMemoryListenerConfig createLDAPSConfig(@NotNull java.lang.String listenerName, @Nullable java.net.InetAddress listenAddress, int listenPort, @NotNull javax.net.ssl.SSLServerSocketFactory serverSocketFactory, @Nullable javax.net.ssl.SSLSocketFactory clientSocketFactory, boolean requestClientCertificate, boolean requireClientCertificate) throws LDAPException
listenerName
- The name to use for the listener. It
must not be null
.listenAddress
- The address on which the listener should
accept connections from clients. It may
be null
to indicate that it
should accept connections on all
addresses on all interfaces.listenPort
- The port on which the listener should
accept connections from clients. It may
be 0 to indicate that the server should
automatically choose an available port.serverSocketFactory
- The SSL server socket factory that will
be used for accepting SSL-based
connections from clients. It must not be
null
.clientSocketFactory
- The SSL socket factory that will be used
to create secure connections to the
server. It may be null
if a
default "trust all" socket factory should
be used.requestClientCertificate
- Indicates whether the listener should
request that the client present its own
certificate chain during TLS negotiation.
This will be ignored for non-TLS-based
connections.requireClientCertificate
- Indicates whether the listener should
require that the client present its own
certificate chain during TLS negotiation,
and should fail negotiation if the client
does not present one. This will be
ignored for non-TLS-based connections or
if requestClientCertificate
is
false
.LDAPException
- If the provided name or server socket factory is
null
, or an error occurs while attempting to create a
client socket factory.@NotNull public java.lang.String getListenerName()
@Nullable public java.net.InetAddress getListenAddress()
null
if it should accept connections on all
addresses on all interfaces.public int getListenPort()
@Nullable public javax.net.ServerSocketFactory getServerSocketFactory()
null
if the JVM-default
server socket factory should be used.@Nullable public javax.net.SocketFactory getClientSocketFactory()
null
if the JVM-default
socket factory should be used.@Nullable public javax.net.ssl.SSLSocketFactory getStartTLSSocketFactory()
null
if StartTLS should not be
supported.public boolean requestClientCertificate()
true
if the listener should request that the client
present its own certificate chain during TLS negotiation, or
false
if not.public boolean requireClientCertificate()
requestClientCertificate
returns false.true
if the listener should require that the client
present its own certificate chain during TLS negotiation, or
false
if TLS negotiation should continue even if the
client did not present a certificate chain when requested.@NotNull public java.lang.String toString()
toString
in class java.lang.Object