EMMutableSoftOathSettings Protocol Reference

Conforms to EMSoftOathSettings
Declared in EMMutableSoftOathSettings.h

Overview

Protocol for changeable OATH settings.

  hotpLength required method

The HOTP length. Allowed range is 6-10 digits.

@property (assign, nonatomic) NSInteger hotpLength

Exceptions

NSInvalidArgumentException

When hotpLength is not in allowed range.

Declared In

EMMutableSoftOathSettings.h

  hotpHashAlgorithm required method

The hash algorithm for HOTP. HOTP only supports EMOathHashSHA1 and EMOathHashSHA256. See EMOathHashAlgorithm.

@property (assign, nonatomic) EMOathHashAlgorithm hotpHashAlgorithm

Exceptions

NSInvalidArgumentException

When hash algorithm is not supported.

Declared In

EMMutableSoftOathSettings.h

  totpLength required method

The TOTP length. Allowed range is 6-10 digits.

@property (assign, nonatomic) NSInteger totpLength

Exceptions

NSInvalidArgumentException

When hotpLength is not in allowed range.

Declared In

EMMutableSoftOathSettings.h

  totpHashAlgorithm required method

The hash algorithm for TOTP.

@property (assign, nonatomic) EMOathHashAlgorithm totpHashAlgorithm

Declared In

EMMutableSoftOathSettings.h

  totpStartTime required method

The T0 value for TOTP. Value to start counting the time steps. Default: 0

@property (assign, nonatomic) int64_t totpStartTime

Exceptions

NSInvalidArgumentException

When totpStartTime is negative.

Declared In

EMMutableSoftOathSettings.h

  totpTimestepSize required method

The time step size for TOTP. Default: 30 seconds.

@property (assign, nonatomic) NSInteger totpTimestepSize

Declared In

EMMutableSoftOathSettings.h

  totpTimestepType required method

The time step type for TOTP.

@property (assign, nonatomic) EMOathTimestepType totpTimestepType

Declared In

EMMutableSoftOathSettings.h

  ocraOtpLength required method

The OTP length for OCRA. 0 for full length or any value in the range 4-10 digits.

@property (assign, nonatomic) NSInteger ocraOtpLength

Exceptions

NSInvalidArgumentException

When ocraOtpLength is not in allowed range.

Declared In

EMMutableSoftOathSettings.h

  ocraHashAlgorithm required method

The hash algorithm for OCRA.

@property (assign, nonatomic) EMOathHashAlgorithm ocraHashAlgorithm

Declared In

EMMutableSoftOathSettings.h

  ocraStartTime required method

The T0 value for OCRA. Value to start counting the time steps. Default: 0. Must not be negative.

@property (assign, nonatomic, readonly) int64_t ocraStartTime

Declared In

EMMutableSoftOathSettings.h

  ocraTimestepType required method

The time step type for OCRA.

@property (assign, nonatomic, readonly) EMOathTimestepType ocraTimestepType

Declared In

EMMutableSoftOathSettings.h

  ocraTimestepSize required method

The time step size for OCRA. Must be larger than 0.

@property (assign, nonatomic, readonly) NSInteger ocraTimestepSize

Declared In

EMMutableSoftOathSettings.h

  ocraCounterUsed required method

If the Counter is used in the OCRA computation

@property (assign, nonatomic, getter=isOcraCounterUsed) BOOL ocraCounterUsed

Declared In

EMMutableSoftOathSettings.h

  ocraChallengeQuestionFormat required method

The format of the Challenge Question field in the OCRA computation

@property (assign, nonatomic) EMOcraChallengeQuestionFormat ocraChallengeQuestionFormat

Declared In

EMMutableSoftOathSettings.h

  ocraSessionLength required method

The session length in the OCRA computation. -1 to not use session in OCRA computation or any value in the range 1-512. Default value is -1 (not used)

@property (assign, nonatomic) NSInteger ocraSessionLength

Declared In

EMMutableSoftOathSettings.h

  ocraPasswordHashAlgorithm required method

The password hash algorithm in the OCRA computation

@property (assign, nonatomic) EMOcraPasswordHashAlgorithm ocraPasswordHashAlgorithm

Declared In

EMMutableSoftOathSettings.h

  ocraMaximumChallengeQuestionLength required method

The maximum length of the challenge string regardless of the format (e.g. the number of nibbles in hexadecimal format or the maximum number of digits in numerical format). Any value in the range 4-64.

@property (assign, nonatomic) NSInteger ocraMaximumChallengeQuestionLength

Declared In

EMMutableSoftOathSettings.h

– setOcraTimeSettingsWithTimeStep:timestepSize:startTime: required method

Sets the OCRA time settings.

- (void)setOcraTimeSettingsWithTimeStep:(EMOathTimestepType)timestepType timestepSize:(NSInteger)timestepSize startTime:(int64_t)startTime

Parameters

timestepType

The time step type, set to EMOathTimestepTypeNone to not use it.

timestepSize

The time step size, it is ignored if timestepType is EMOathTimestepTypeNone.

startTime

The start time in seconds, it is ignored if timestepType is EMOathTimestepTypeNone.

Exceptions

NSInvalidArgumentException

If one of the following conditions is true:

  • `timestepType` is not equal to `EMOathTimestepTypeNone` and `timestepSize` is less than or equal to zero.
  • `timestepType` is not equal to `EMOathTimestepTypeNone` and `startTime` is less than zero.
  • `timestepType` is equal to `EMOathTimestepTypeSeconds` and `timestepSize` is greater than 59.
  • `timestepType` is equal to `EMOathTimestepTypeMinutes` and `timestepSize` is greater than 59.
  • `timestepType` is equal to `EMOathTimestepTypeHours` and `timestepSize` is greater than 48.

Declared In

EMMutableSoftOathSettings.h

– setOcraSuite: required method

Sets the OCRA Suite, all the relevant OCRA settings will be set accordingly.

- (void)setOcraSuite:(id<EMSecureString>)ocrasuite

Parameters

ocrasuite

The OCRA Suite.

Availability

2.3

Discussion

Notice the startTime cannot be configured by OCRA Suite. Call setOcraTimeSettingsWithTimeStep:timestepSize:startTime if startTime needs to be tweaked.

Declared In

EMMutableSoftOathSettings.h