Class RegisterYubiKeyOTPDeviceExtendedRequest

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

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class RegisterYubiKeyOTPDeviceExtendedRequest
    extends ExtendedRequest
    This class provides an implementation of an extended request that may be used to register a YubiKey OTP device with the Directory Server so that it may be used to authenticate using the UNBOUNDID-YUBIKEY-OTP SASL mechanism.
    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.54, and it must include a request value with the following encoding:

       RegisterYubiKeyOTPDeviceRequest ::= SEQUENCE {
            authenticationID     [0] OCTET STRING OPTIONAL,
            staticPassword       [1] OCTET STRING OPTIONAL,
            yubiKeyOTP           [2] OCTET STRING,
            ... }
     
    See Also:
    DeregisterYubiKeyOTPDeviceExtendedRequest, UnboundIDYubiKeyOTPBindRequest, RegisterYubiKeyOTPDevice, Serialized Form
    • Constructor Detail

      • RegisterYubiKeyOTPDeviceExtendedRequest

        public RegisterYubiKeyOTPDeviceExtendedRequest​(@NotNull
                                                       java.lang.String yubiKeyOTP,
                                                       @Nullable
                                                       Control... controls)
        Creates a new register YubiKey OTP device extended request that will be used to register a new device for the user as whom the underlying connection is authenticated.
        Parameters:
        yubiKeyOTP - A one-time password generated by the YubiKey device to be registered. It must not be null.
        controls - The set of controls to include in the request. It may be null or empty if there should not be any request controls.
      • RegisterYubiKeyOTPDeviceExtendedRequest

        public RegisterYubiKeyOTPDeviceExtendedRequest​(@Nullable
                                                       java.lang.String authenticationID,
                                                       @Nullable
                                                       java.lang.String staticPassword,
                                                       @NotNull
                                                       java.lang.String yubiKeyOTP,
                                                       @Nullable
                                                       Control... controls)
        Creates a new register YubiKey OTP device extended request with the provided information.
        Parameters:
        authenticationID - The authentication ID that identifies the user for whom the YubiKey OTP device is to be registered. It may be null if the device is to be registered for the user as whom the underlying connection is authenticated.
        staticPassword - The static password of the user for whom the device is to be registered. It may be null if the device is to be registered for a user other than the user authenticated on the underlying connection and the server is configured to not require the target user's static password in this case.
        yubiKeyOTP - A one-time password generated by the YubiKey device to be registered. It must not be null.
        controls - The set of controls to include in the request. It may be null or empty if there should not be any request controls.
      • RegisterYubiKeyOTPDeviceExtendedRequest

        public RegisterYubiKeyOTPDeviceExtendedRequest​(@Nullable
                                                       java.lang.String authenticationID,
                                                       @Nullable
                                                       byte[] staticPassword,
                                                       @NotNull
                                                       java.lang.String yubiKeyOTP,
                                                       @Nullable
                                                       Control... controls)
        Creates a new register YubiKey OTP device extended request with the provided information.
        Parameters:
        authenticationID - The authentication ID that identifies the user for whom the YubiKey OTP device is to be registered. It may be null if the device is to be registered for the user as whom the underlying connection is authenticated.
        staticPassword - The static password of the user for whom the device is to be registered. It may be null if the device is to be registered for a user other than the user authenticated on the underlying connection and the server is configured to not require the target user's static password in this case.
        yubiKeyOTP - A one-time password generated by the YubiKey device to be registered. It must not be null.
        controls - The set of controls to include in the request. It may be null or empty if there should not be any request controls.
      • RegisterYubiKeyOTPDeviceExtendedRequest

        public RegisterYubiKeyOTPDeviceExtendedRequest​(@NotNull
                                                       ExtendedRequest request)
                                                throws LDAPException
        Creates a new register YubiKey OTP device extended request that is decoded from the provided generic extended request.
        Parameters:
        request - The generic extended request to decode as a register YubiKey OTP device request.
        Throws:
        LDAPException - If a problem is encountered while attempting to decode the provided request.
    • Method Detail

      • getAuthenticationID

        @Nullable
        public java.lang.String getAuthenticationID()
        Retrieves the authentication ID that identifies the user for whom the YubiKey OTP device is to be registered, if provided.
        Returns:
        The authentication ID that identifies the target user, or null if the device is to be registered as the user as whom the underlying connection is authenticated.
      • getStaticPasswordString

        @Nullable
        public java.lang.String getStaticPasswordString()
        Retrieves the string representation of the static password for the target user, if provided.
        Returns:
        The string representation of the static password for the target user, or null if no static password was provided.
      • getStaticPasswordBytes

        @Nullable
        public byte[] getStaticPasswordBytes()
        Retrieves the bytes that comprise the static password for the target user, if provided.
        Returns:
        The bytes that comprise the static password for the target user, or null if no static password was provided.
      • getYubiKeyOTP

        @NotNull
        public java.lang.String getYubiKeyOTP()
        Retrieves a one-time password generated by the YubiKey device to be registered.
        Returns:
        A one-time password generated by the YubiKey device to be registered.
      • duplicate

        @NotNull
        public RegisterYubiKeyOTPDeviceExtendedRequest duplicate​(@Nullable
                                                                 Control[] controls)
        Creates a new instance of this LDAP request that may be modified without impacting this request. The provided controls will be used for the new request instead of duplicating the controls from this request.. Subclasses should override this method to return a duplicate of the appropriate type.
        Specified by:
        duplicate in interface ReadOnlyLDAPRequest
        Overrides:
        duplicate in class ExtendedRequest
        Parameters:
        controls - The set of controls to include in the duplicate request.
        Returns:
        A new instance of this LDAP request that may be modified without impacting this request.
      • 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.