Standard authentication OATH.
See HSM technical documentation about operating details, specifications used, licenses e 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 | As of firmware version 4.0.2, the size of the authentication look-ahead window can be set in this parameter. The default is 10 intervals more or less. In the case of HOTP tokens, the intervals will be counted by number of events; in the case of TOTP tokens, they will be counted by 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. |