Class ReplaceListenerCertificateExtendedRequest

java.lang.Object
com.unboundid.ldap.sdk.LDAPRequest
com.unboundid.ldap.sdk.ExtendedRequest
com.unboundid.ldap.sdk.unboundidds.extensions.ReplaceListenerCertificateExtendedRequest
All Implemented Interfaces:
ProtocolOp, ReadOnlyLDAPRequest, Serializable

This class defines an extended request that may be used to request that a Ping Identity Directory Server instance (or related Ping Identity server product) replace its listener certificate. The new certificate data may be contained in a key store file on the server filesystem or included in the extended request itself.
NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

This extended request has an OID of 1.3.6.1.4.1.30221.2.6.68 and a value with the following encoding:
   ReplaceListenerCertificateValue ::= SEQUENCE {
     keyStoreContent                         CHOICE {
       keyStoreFile                            [0]  KeyStoreFileSequence,
       keyStoreData                            [1]  KeyStoreDataSequence,
       certificateData                         [2]  CertificateDataSequence,
       ... },
    keyManagerProvider                       [3]  OCTET STRING,
    trustBehavior                            CHOICE {
      trustManagerProvider                     [4] OCTET STRING,
      useJVMDefaultTrustManagerProvider        [5] NULL,
      ... },
    targetCertificateAlias                   [6]  OCTET STRING OPTIONAL,
    reloadHTTPConnectionHandlerCertificates  [7]  BOOLEAN DEFAULT FALSE,
    skipCertificateValidation                [16] BOOLEAN DEFAULT FALSE,
    ... }

   KeyStoreFileSequence ::= SEQUENCE {
     path                    [8]  OCTET STRING,
     keyStorePIN             [9]  OCTET STRING,
     privateKeyPIN           [10] OCTET STRING OPTIONAL,
     keyStoreType            [11] OCTET STRING OPTIONAL,
     sourceCertificateAlias  [12] OCTET STRING OPTIONAL,
     ... }

   KeyStoreDataSequence ::= SEQUENCE {
     keyStoreData            [13] OCTET STRING,
     keyStorePIN             [9]  OCTET STRING,
     privateKeyPIN           [10]  OCTET STRING OPTIONAL,
     keyStoreType            [11] OCTET STRING OPTIONAL,
     sourceCertificateAlias  [12] OCTET STRING OPTIONAL,
     ... }

   CertificateDataSequence ::= SEQUENCE {
     certificateChain  [14] SEQUENCE SIZE (1..MAX) OF OCTET STRING,
     privateKey        [15] OCTET STRING OPTIONAL,
     ... }
 


See Also:
  • Field Details

  • Constructor Details

    • ReplaceListenerCertificateExtendedRequest

      public ReplaceListenerCertificateExtendedRequest(@NotNull ReplaceCertificateKeyStoreContent keyStoreContent, @NotNull String keyManagerProvider, @NotNull ReplaceCertificateTrustBehavior trustBehavior, @Nullable String targetCertificateAlias, boolean reloadHTTPConnectionHandlerCertificates, boolean skipCertificateValidation, @Nullable Control... requestControls)
      Creates a new replace listener certificate extended request with the provided information.
      Parameters:
      keyStoreContent - An object with information about how the server should obtain the new listener certificate data. It must not be null.
      keyManagerProvider - The name of the file-based key manager provider with information about the key store in which the new listener certificate should be stored. It must not be null.
      trustBehavior - An object with information about how the server should handle updating trust information for the new listener certificate. It must not be null.
      targetCertificateAlias - The alias that should be used for the new listener certificate in the target key store. It may be null if the server should use a default alias.
      reloadHTTPConnectionHandlerCertificates - Indicates whether to trigger a certificate reload in any configured HTTP connection handlers after updating the listener certificate information. While LDAP and JMX connection handlers will automatically start using the new listener certificate when negotiating new TLS sessions, HTTP connection handlers will only do so if they are explicitly told to reload certificate data. However, there is a chance that this could potentially cause issues with resuming TLS sessions for HTTPS clients that were negotiated before the listener certificate was updated.
      skipCertificateValidation - Indicates whether to skip validation for the new certificate chain.
      requestControls - The set of controls to include in the extended request. It may be null or empty if no request controls should be included.
    • ReplaceListenerCertificateExtendedRequest

      Creates a new replace listener certificate extended request that is decoded from the provided generic extended request.
      Parameters:
      request - The generic extended request to be decoded as a replace listener certificate extended request. It must not be null.
      Throws:
      LDAPException - If a problem occurs while attempting to decode the provided extended request as a replace listener certificate request.
  • Method Details

    • getKeyStoreContent

      Retrieves an object with information about how the server should obtain the new listener certificate data.
      Returns:
      An object with information about how the server should obtain the new listener certificate data.
    • getKeyManagerProvider

      Retrieves the name of the file-based key manager provider with information about the key store in which thew new listener certificate should be stored.
      Returns:
      The name of the file-based key manager provider with information about the key store in which the new listener certificate should be stored.
    • getTrustBehavior

      Retrieves an object with information about how the server should handle updating trust information for the new listener certificate.
      Returns:
      An object with information about how the server should handle updating trust information for the new listener certificate.
    • getTargetCertificateAlias

      Retrieves the alias that should be used for the new listener certificate in the target key store, if provided.
      Returns:
      The alias that should be used for the new listener certificate in the target key store, or null if the server should use a default alias.
    • reloadHTTPConnectionHandlerCertificates

      Indicates whether to trigger a certificate reload in any configured HTTP connection handlers after updating the listener certificate information. While LDAP and JMX connection handlers will automatically start using the new listener certificate when negotiating new TLS sessions, HTTP connection handlers will only do so if they are explicitly told to reload certificate data. However, there is a chance that this could potentially cause issues with resuming TLS sessions for HTTPS clients that were negotiated before the listener certificate was updated.
      Returns:
      true if the server should reload certificates in any configured HTTP connection handlers after updating the listener certificates information, or false if not.
    • skipCertificateValidation

      public boolean skipCertificateValidation()
      Indicates whether the server should skip validation processing for the new certificate chain.
      Returns:
      true if the server should skip validation processing for the new certificate chain, or false if not.
    • process

      Sends this extended request to the directory server over the provided connection and returns the associated response.
      Overrides:
      process in class ExtendedRequest
      Parameters:
      connection - The connection to use to communicate with the directory server.
      depth - The current referral depth for this request. It should always be one for the initial request, and should only be incremented when following referrals.
      Returns:
      An LDAP result object that provides information about the result of the extended operation processing.
      Throws:
      LDAPException - If a problem occurs while sending the request or reading the response.
    • getExtendedRequestName

      Retrieves the user-friendly name for the extended request, if available. If no user-friendly name has been defined, then the OID will be returned.
      Overrides:
      getExtendedRequestName in class ExtendedRequest
      Returns:
      The user-friendly name for this extended request, or the OID if no user-friendly name is available.
    • toString

      public void toString(@NotNull StringBuilder buffer)
      Appends a string representation of this request to the provided buffer.
      Specified by:
      toString in interface ProtocolOp
      Specified by:
      toString in interface ReadOnlyLDAPRequest
      Overrides:
      toString in class ExtendedRequest
      Parameters:
      buffer - The buffer to which to append a string representation of this request.