@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class OneTimePassword extends java.lang.Object
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.
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_HOTP_NUM_DIGITS
The default number of digits to include in generated HOTP passwords.
|
static int |
DEFAULT_TOTP_INTERVAL_DURATION_SECONDS
The default time interval (in seconds) to use when generating TOTP
passwords.
|
static int |
DEFAULT_TOTP_NUM_DIGITS
The default number of digits to include in generated TOTP passwords.
|
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
hotp(byte[] sharedSecret,
long counter)
Generates a six-digit HMAC-based one-time-password using the provided
information.
|
static java.lang.String |
hotp(byte[] sharedSecret,
long counter,
int numDigits)
Generates an HMAC-based one-time-password using the provided information.
|
static java.lang.String |
totp(byte[] sharedSecret)
Generates a six-digit time-based one-time-password using the provided
information and a 30-second time interval.
|
static java.lang.String |
totp(byte[] sharedSecret,
long authTime,
int intervalDurationSeconds,
int numDigits)
Generates a six-digit time-based one-time-password using the provided
information.
|
public static final int DEFAULT_HOTP_NUM_DIGITS
public static final int DEFAULT_TOTP_INTERVAL_DURATION_SECONDS
public static final int DEFAULT_TOTP_NUM_DIGITS
@NotNull public static java.lang.String hotp(@NotNull byte[] sharedSecret, long counter) throws LDAPException
sharedSecret
- The secret key shared by both parties that will be
using the generated one-time password.counter
- The counter value that will be used in the course of
generating the one-time password.LDAPException
- If an unexpected problem is encountered while
attempting to generate the one-time password.@NotNull public static java.lang.String hotp(@NotNull byte[] sharedSecret, long counter, int numDigits) throws LDAPException
sharedSecret
- The secret key shared by both parties that will be
using the generated one-time password.counter
- The counter value that will be used in the course of
generating the one-time password.numDigits
- The number of digits that should be included in the
generated one-time password. It must be greater than
or equal to six and less than or equal to eight.LDAPException
- If an unexpected problem is encountered while
attempting to generate the one-time password.@NotNull public static java.lang.String totp(@NotNull byte[] sharedSecret) throws LDAPException
sharedSecret
- The secret key shared by both parties that will be
using the generated one-time password.LDAPException
- If an unexpected problem is encountered while
attempting to generate the one-time password.@NotNull public static java.lang.String totp(@NotNull byte[] sharedSecret, long authTime, int intervalDurationSeconds, int numDigits) throws LDAPException
sharedSecret
- The secret key shared by both parties that
will be using the generated one-time
password.authTime
- The time (in milliseconds since the epoch,
as reported by
System.currentTimeMillis
or
Date.getTime
) at which the
authentication attempt occurred.intervalDurationSeconds
- The duration of the time interval, in
seconds, that should be used when
performing the computation.numDigits
- The number of digits that should be
included in the generated one-time
password. It must be greater than or
equal to six and less than or equal to
eight.LDAPException
- If an unexpected problem is encountered while
attempting to generate the one-time password.