Interface StartTLSExtendedRequest
- All Superinterfaces:
ExtendedRequest<ExtendedResult>,Request
The start TLS extended request as defined in RFC 4511. The Start Transport
Layer Security (StartTLS) operation's purpose is to initiate installation of
a TLS layer.
Use an SSLContextBuilder
when setting up LDAP options needed to use StartTLS.
TrustManagers has methods you
can use to set the trust manager for the SSL context builder.
LDAPOptions options = new LDAPOptions();
SSLContext sslContext =
new SSLContextBuilder().setTrustManager(...).getSSLContext();
options.setSSLContext(sslContext);
options.setUseStartTLS(true);
String host = ...;
int port = ...;
LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port, options);
Connection connection = factory.getConnection();
// Connection uses StartTLS...
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ExtendedRequestDecoder<StartTLSExtendedRequest, ExtendedResult> A decoder which can be used to decode start TLS extended operation requests.static final StringThe OID for the start TLS extended operation request. -
Method Summary
Modifier and TypeMethodDescriptionaddControl(Control control) Adds the provided control to this request.addEnabledCipherSuite(String... suites) Adds the cipher suites enabled for secure connections with the Directory Server.addEnabledCipherSuite(Collection<String> suites) Adds the cipher suites enabled for secure connections with the Directory Server.addEnabledProtocol(String... protocols) Adds the protocol versions enabled for secure connections with the Directory Server.addEnabledProtocol(Collection<String> protocols) Adds the protocol versions enabled for secure connections with the Directory Server.<C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.Returns aListcontaining the controls included with this request.Returns the names of the protocol versions which are currently enabled for secure connections with the Directory Server.Returns the names of the protocol versions which are currently enabled for secure connections with the Directory Server.getOID()Returns the numeric OID associated with this extended request.Returns a decoder which can be used to decoded responses to this extended request.Returns the SSLContext that should be used when installing the TLS layer.getValue()Returns the value, if any, associated with this extended request.booleanhasValue()Returnstrueif this extended request has a value.setSSLContext(SSLContext sslContext) Sets the SSLContext that should be used when installing the TLS layer.Methods inherited from interface org.forgerock.opendj.ldap.requests.Request
containsControl
-
Field Details
-
DECODER
A decoder which can be used to decode start TLS extended operation requests. -
OID
The OID for the start TLS extended operation request.- See Also:
-
-
Method Details
-
addControl
Description copied from interface:RequestAdds the provided control to this request.- Specified by:
addControlin interfaceExtendedRequest<ExtendedResult>- Specified by:
addControlin interfaceRequest- Parameters:
control- The control to be added to this request.- Returns:
- This request.
-
addEnabledCipherSuite
Adds the cipher suites enabled for secure connections with the Directory Server. The suites must be supported by the SSLContext specified insetSSLContext(SSLContext). Following a successful call to this method, only the suites listed in the protocols parameter are enabled for use.- Parameters:
suites- Names of all the suites to enable.- Returns:
- A reference to this LDAP connection options.
- Throws:
UnsupportedOperationException- If this start TLS extended request does not permit the enabled cipher suites to be set.
-
addEnabledCipherSuite
Adds the cipher suites enabled for secure connections with the Directory Server. The suites must be supported by the SSLContext specified insetSSLContext(SSLContext). Following a successful call to this method, only the suites listed in the protocols parameter are enabled for use.- Parameters:
suites- Names of all the suites to enable.- Returns:
- A reference to this LDAP connection options.
- Throws:
UnsupportedOperationException- If this start TLS extended request does not permit the enabled cipher suites to be set.
-
addEnabledProtocol
Adds the protocol versions enabled for secure connections with the Directory Server. The protocols must be supported by the SSLContext specified insetSSLContext(SSLContext). Following a successful call to this method, only the protocols listed in the protocols parameter are enabled for use.- Parameters:
protocols- Names of all the protocols to enable.- Returns:
- A reference to this LDAP connection options.
- Throws:
UnsupportedOperationException- If this start TLS extended request does not permit the enabled protocols to be set.
-
addEnabledProtocol
Adds the protocol versions enabled for secure connections with the Directory Server. The protocols must be supported by the SSLContext specified insetSSLContext(SSLContext). Following a successful call to this method, only the protocols listed in the protocols parameter are enabled for use.- Parameters:
protocols- Names of all the protocols to enable.- Returns:
- A reference to this LDAP connection options.
- Throws:
UnsupportedOperationException- If this start TLS extended request does not permit the enabled protocols to be set.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:RequestDecodes and returns the first control in this request having an OID corresponding to the provided control decoder.- Specified by:
getControlin interfaceExtendedRequest<ExtendedResult>- Specified by:
getControlin interfaceRequest- Type Parameters:
C- The type of control to be decoded and returned.- Parameters:
decoder- The control decoder.options- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
nullif the control is not included with this request. - Throws:
DecodeException- If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
-
getControls
Description copied from interface:RequestReturns aListcontaining the controls included with this request. The returnedListmay be modified if permitted by this request.- Specified by:
getControlsin interfaceExtendedRequest<ExtendedResult>- Specified by:
getControlsin interfaceRequest- Returns:
- A
Listcontaining the controls.
-
getEnabledCipherSuites
Returns the names of the protocol versions which are currently enabled for secure connections with the Directory Server.- Returns:
- an array of protocols or empty set if the default protocols are to be used.
-
getEnabledProtocols
Returns the names of the protocol versions which are currently enabled for secure connections with the Directory Server.- Returns:
- an array of protocols or empty set if the default protocols are to be used.
-
getOID
Description copied from interface:ExtendedRequestReturns the numeric OID associated with this extended request.- Specified by:
getOIDin interfaceExtendedRequest<ExtendedResult>- Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
Description copied from interface:ExtendedRequestReturns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoderin interfaceExtendedRequest<ExtendedResult>- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getSSLContext
Returns the SSLContext that should be used when installing the TLS layer.- Returns:
- The SSLContext that should be used when installing the TLS layer.
-
getValue
Description copied from interface:ExtendedRequestReturns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValuein interfaceExtendedRequest<ExtendedResult>- Returns:
- The value associated with this extended request, or
nullif there is no value.
-
hasValue
boolean hasValue()Description copied from interface:ExtendedRequestReturnstrueif this extended request has a value. In some circumstances it may be useful to determine if a extended request has a value, without actually calculating the value and incurring any performance costs.- Specified by:
hasValuein interfaceExtendedRequest<ExtendedResult>- Returns:
trueif this extended request has a value, orfalseif there is no value.
-
setSSLContext
Sets the SSLContext that should be used when installing the TLS layer.- Parameters:
sslContext- The SSLContext that should be used when installing the TLS layer.- Returns:
- This startTLS request.
-