Standard authentication OATH.
See HSM technical documentation about operating details, specifications used, licenses and module trade name.
Functions | |
| bool | OATHCheck (string masterKeyId, string otp, ref byte[] bBlob) |
| Check OTP value. | |
| bool | OATHCheck (string masterKeyId, string otp, ref byte[] bBlob, int dwFlag) |
| Check OTP value. | |
| bool | OATHCheck (string masterKeyId, string otp, byte[] bBlob) |
| bool | OATHCheck (string masterKeyId, string otp, byte[] bBlob, int dwFlag) |
| byte[] | OATHBlobResync (string szMasterKeyId, string szOTP1, string szOTP2, byte[] bOATHBlob) |
| Re-synchronizes a blob OATH by displaying two continuous OTP values. | |
| byte[] | OATHBlobResync (string szMasterKeyId, string szOTP1, string szOTP2, byte[] bOATHBlob, int dwFlags) |
| Resynchronizes an OATH blob OATH providing two consecutive OTP values, with support for updating the blob format. | |
| byte[] | OATHGetKey (string szMasterKey, byte[] pbInBlob) |
| Retrieves the seed of the key generating the blob from OATH. | |
| DinamoApi.OATH_PSKC_TRANSLATE_OUTPUT[] | OATHPskcTranslate (string szMasterKeyId, string szPSK, byte[] pbPSKC) |
| Imports seeds enveloped in the PSKC (Portable Symmetric Key Container) standard, RFC 6030. | |
| byte[] | OATHIssueGenerateHOTP (string szMasterKeyId) |
| Generates a HOATH blob, i.e. an event token. The seed will be generated randomly by the HSM. | |
| byte[] | OATHIssueGenerateHOTP (string szMasterKeyId, byte seedLen) |
| Generates a HOATH blob, i.e. an event token from a seed size. | |
| byte[] | OATHIssueImportHOTP (string szMasterKeyId, byte[] bSeed) |
| Imports a HOATH blob, i.e. an event token from a supplied seed. | |
| byte[] | OATHIssueGenerateTOTP (string szMasterKeyId) |
| Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM. | |
| byte[] | OATHIssueGenerateTOTP (string szMasterKeyId, short step) |
| Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM. | |
| byte[] | OATHIssueGenerateTOTP (string szMasterKeyId, short step, ulong offset) |
| Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM. | |
| byte[] | OATHIssueGenerateTOTP (string szMasterKeyId, short step, ulong offset, byte seedLen) |
| Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM. | |
| byte[] | OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed) |
| Imports a TOTP blob, i.e. an event token from a supplied seed. | |
| byte[] | OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed, short step) |
| Imports a TOTP blob, i.e. an event token from a supplied seed. | |
| byte[] | OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed, short step, ulong offset) |
| Imports a TOTP blob, i.e. an event token from a supplied seed. | |
| string | EncodeBase32 (byte[] data) |
| Utility function for encoding Base32. Standard encoding for OATH generators in sofware. | |
| string | OATHGetNext (string szMasterKeyId, byte lenOTP, byte[] bBlob) |
| Retrieves the next value for the OTP. | |
|
inline |
Check OTP value.
| masterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. |
| otp | OTP to be checked for minimum size DinamoApi.ISSUE_OATH_MIN_OTP_LEN and maximum DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| bBlob | Byte array containing the blob that will be used to generate the OTP. This buffer will be rewritten with the updated blob. |
| DinamoException.DinamoException | In case of error |
|
inline |
Check OTP value.
| masterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. | ||||||
| otp | OTP to be checked for minimum size DinamoApi.ISSUE_OATH_MIN_OTP_LEN and maximum DinamoApi.ISSUE_OATH_MAX_OTP_LEN. | ||||||
| bBlob | Byte array containing the blob that will be used to generate the OTP. This buffer will be rewritten with the updated blob. | ||||||
| dwFlag | Starting from firmware version 4.0.2, this parameter can be used to pass the size of the authentication look-ahead window. The default is 10 intervals, plus or minus. For HOTP tokens, intervals are counted by the number of events; for TOTP tokens, they are counted by the number of time-steps.
|
| DinamoException.DinamoException | In case of error |
|
inline |
|
inline |
|
inline |
Re-synchronizes a blob OATH by displaying two continuous OTP values.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. |
| szOTP1 | First OTP. Minimum length: DinamoApi.ISSUE_OATH_MIN_OTP_LEN; maximum length: DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| szOTP2 | The second OTP following the first. Minimum length: DinamoApi.ISSUE_OATH_MIN_OTP_LEN; maximum length: DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| bOATHBlob | The OATH blob OATH will have the OTP verified. This buffer will be overwritten with the updated blob. |
| DinamoException.DinamoException | Throws exception in case of error. |
Starting with firmware version 4.0.2, the window will be extended by 200 intervals in both directions. For HOTP tokens, the intervals are counted by the number of events; for TOTP tokens, they are counted by the number of time steps.
If the error DinamoApi.D_OATH_BLOB_UPDATE is returned, this call must be retried using the OATHBlobResync(string,string,string,byte[],int) overload with the DinamoApi.OATH flag, which expands the buffer to DinamoApi.ISSUE_OATH_OUTPUT_MAX_BLOB_LEN and automatically repeats the operation to migrate the blob to the v2 format.
|
inline |
Resynchronizes an OATH blob OATH providing two consecutive OTP values, with support for updating the blob format.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. |
| szOTP1 | First OTP. Minimum length: DinamoApi.ISSUE_OATH_MIN_OTP_LEN; maximum length: DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| szOTP2 | The second OTP following the first. Minimum length: DinamoApi.ISSUE_OATH_MIN_OTP_LEN; maximum length: DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| bOATHBlob | The OATH blob OATH will have the OTP verified. This buffer will be overwritten with the updated blob. |
| dwFlags | Operation flags. When DinamoApi.OATH is specified and the firmware returns DinamoApi.D_OATH_BLOB_UPDATE, the method automatically expands the buffer to DinamoApi.ISSUE_OATH_OUTPUT_MAX_BLOB_LEN and repeats the call to migrate the blob to the v2 format. See details in the DinamoApi.OATH specification. |
| DinamoException.DinamoException | Throws exception in case of error. |
Starting with firmware version 4.0.2, the window will be extended by 200 intervals in both directions. For HOTP tokens, the intervals will be counted by the number of events; for TOTP tokens, they will be counted by the number of time steps.
|
inline |
Retrieves the seed of the key generating the blob from OATH.
| szMasterKey | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. |
| pbInBlob | Blob content |
| DinamoException.DinamoException | In case of error |
|
inline |
Imports seeds enveloped in the PSKC (Portable Symmetric Key Container) standard, RFC 6030.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN. |
| szPSK | Transport key that protects the seeds reported in pbPSKC. |
| pbPSKC | Contents of the file containing the seeds that will be transformed into blobs in HSM format |
| DinamoException.DinamoException | In case of error |
|
inline |
Generates a HOATH blob, i.e. an event token. The seed will be generated randomly by the HSM.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| DinamoException.DinamoException | In case of error |
This function is used when it is possible to assign a seed to a soft token. A seed with the size of a SHA1 will be generated
|
inline |
Generates a HOATH blob, i.e. an event token from a seed size.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| seedLen | Seed in binary format. |
| DinamoException.DinamoException | In case of error |
This function is used when the seed is provided by a soft token software device (e.g. a cell phone app) or a hard_token hadware device (e.g. a sequence generator keychain).
|
inline |
Imports a HOATH blob, i.e. an event token from a supplied seed.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| bSeed | Seed in binary format. |
| DinamoException.DinamoException | In case of error |
|
inline |
Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| DinamoException | In case of error |
This function is used when it is possible to assign a seed to a soft token
|
inline |
Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| step | Time interval used in the calculation, also known as the time window for value change. |
| DinamoException.DinamoException | In case of error |
|
inline |
Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| step | Time interval used in the calculation, also known as the time window for value change. |
| offset | Clock delay to be considered. |
| DinamoException | In case of error |
|
inline |
Generates a TOTP blob, i.e. an event token. The seed will be generated randomly by the HSM.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| step | Time interval used in the calculation, also known as the time window for value change. |
| offset | Clock delay to be considered. |
| seedLen | Seed size. |
| DinamoException | In case of error |
|
inline |
Imports a TOTP blob, i.e. an event token from a supplied seed.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| bSeed | Seed in binary format. |
| DinamoException.DinamoException | In case of error |
|
inline |
Imports a TOTP blob, i.e. an event token from a supplied seed.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| bSeed | Seed in binary format. |
| step | Time interval used in the calculation, also known as the time window for value change. |
| DinamoException.DinamoException | In case of error |
|
inline |
Imports a TOTP blob, i.e. an event token from a supplied seed.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| bSeed | Seed in binary format. |
| step | Time interval used in the calculation, also known as the time window for value change. |
| offset | Clock delay to be considered. |
| DinamoException.DinamoException | In case of error |
|
inline |
Utility function for encoding Base32. Standard encoding for OATH generators in sofware.
Derived from https://github.com/google/google-authenticator-android/blob/master /AuthenticatorApp/src/main/java/com/google/android/apps/authenticator/Base32String .java
| data | Generated seed |
|
inline |
Retrieves the next value for the OTP.
| szMasterKeyId | Name of the master key, used to protect the blobs, of maximum size DinamoApi.MAX_OBJ_ID_FQN_LEN |
| lenOTP | Size of the OTP that will be generated, which can be a value between DinamoApi.ISSUE_OATH_MIN_OTP_LEN and DinamoApi.ISSUE_OATH_MAX_OTP_LEN. |
| bBlob | Byte array containing the blob that will be used to generate the OTP. |
| DinamoException | Throws exception in case of error. |