Class ReplaceInterServerCertificateExtendedRequest

  • All Implemented Interfaces:
    ProtocolOp, ReadOnlyLDAPRequest, java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class ReplaceInterServerCertificateExtendedRequest
    extends ExtendedRequest
    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 inter-server 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.69 and a value with the following encoding:
       ReplaceInterServerCertificateValue ::= SEQUENCE {
         keyStoreContent           CHOICE {
           keyStoreFile              [0] KeyStoreFileSequence,
           keyStoreData              [1] KeyStoreDataSequence,
           certificateData            [2] CertificateDataSequence,
           ... },
        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:
    ReplaceInterServerCertificateExtendedResult, Serialized Form
    • Constructor Detail

      • ReplaceInterServerCertificateExtendedRequest

        public ReplaceInterServerCertificateExtendedRequest​(@NotNull
                                                            ReplaceCertificateKeyStoreContent keyStoreContent,
                                                            boolean skipCertificateValidation,
                                                            @Nullable
                                                            Control... requestControls)
        Creates a new replace inter-server certificate extended request with the provided information.
        Parameters:
        keyStoreContent - An object with information about how the server should obtain the new inter-server certificate data. It must not be null.
        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.
      • ReplaceInterServerCertificateExtendedRequest

        public ReplaceInterServerCertificateExtendedRequest​(@NotNull
                                                            ExtendedRequest request)
                                                     throws LDAPException
        Creates a new replace inter-server certificate extended request that is decoded from the provided generic extended request.
        Parameters:
        request - The generic extended request to be decoded as a replace inter-server 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 inter-server certificate request.
    • Method Detail

      • getKeyStoreContent

        @NotNull
        public ReplaceCertificateKeyStoreContent getKeyStoreContent()
        Retrieves an object with information about how the server should obtain the new inter-server certificate data.
        Returns:
        An object with information about how the server should obtain the new inter-server certificate data.
      • 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

        @NotNull
        public ReplaceInterServerCertificateExtendedResult process​(@NotNull
                                                                   LDAPConnection connection,
                                                                   int depth)
                                                            throws LDAPException
        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

        @NotNull
        public java.lang.String 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.