NET API
HSM Dinamo
Loading...
Looking for...
No entries found
Data Structures | Public Types | Public Members
DinamoClient Class Reference

API class for accessing HSM functionalities Dinamo. In this class it is possible to program using the administrative functionalities of machine monitoring, logging, backup, as well as the primitive functionalities such as symmetric and asymmetric key cryptography and the functionalities of the HSM modules. More...

Data Structures

class  PinComponents
 Class that encapsulates the PIN generation components. More...
 
struct  UserTrustInfo
 

Public Types

enum  BARCODE : int { BARCODE128 = 1 , BARCODEPDF417 = 2 }
 
enum  P7_MODE : uint {
  TAC_MOD_CORE_P7_TEXT = 0x0001 , TAC_MOD_CORE_P7_NOCERTS = 0x0002 , TAC_MOD_CORE_P7_NOSIGS = 0x0004 , TAC_MOD_CORE_P7_NOCHAIN = 0x0008 ,
  TAC_MOD_CORE_P7_NOINTERN = 0x0010 , TAC_MOD_CORE_P7_NOVERIFY = 0x0020 , TAC_MOD_CORE_P7_DETACHED = 0x0040 , TAC_MOD_CORE_P7_BINARY = 0x0080 ,
  TAC_MOD_CORE_P7_NOATTR = 0x0100 , TAC_MOD_CORE_P7_NOSMIMECAP = 0x0200 , TAC_MOD_CORE_P7_NOOLDMIMETYPE = 0x0400 , TAC_MOD_CORE_P7_CRLFEOL = 0x0800 ,
  TAC_MOD_CORE_P7_NOCRL = 0x2000 , TAC_MOD_CORE_P7_COSIGN = 0x80000000
}
 
enum  OATH_TYPE : uint { ISSUE_OATH_GENERATE_HOTP = DinamoApi.ISSUE_OATH_GENERATE_HOTP , ISSUE_OATH_GENERATE_TOTP = DinamoApi.ISSUE_OATH_GENERATE_TOTP , ISSUE_OATH_IMPORT_HOTP = DinamoApi.ISSUE_OATH_IMPORT_HOTP , ISSUE_OATH_IMPORT_TOTP = DinamoApi.ISSUE_OATH_IMPORT_TOTP }
 
enum  HASH_ALG : int {
  ALG_MD5 = 1 , ALG_SHA1 = 2 , ALG_SSL_SHA1_MD5 = 3 , ALG_SHA2_256 = 4 ,
  ALG_SHA2_384 = 5 , ALG_SHA2_512 = 6 , ALG_SHA2_224 = (7) , ALG_SHA3_224 = (8) ,
  ALG_SHA3_256 = (9) , ALG_SHA3_384 = (10) , ALG_SHA3_512 = (11) , ALG_IDENTITY_FUNC = (255) ,
  ALG_HMAC_MD5 = 92 , ALG_HMAC_SHA1 = 93 , ALG_HMAC_SHA2_256 = 94 , ALG_HMAC_SHA2_384 = 95 ,
  ALG_HMAC_SHA2_512 = 96
}
 Hash algorithm for signatures. More...
 
enum  HASH_MODE : byte {
  ALG_MD5_InclC14N = 1 , ALG_SHA1_InclC14N = 2 , ALG_SHA256_InclC14N = 3 , ALG_SHA384_InclC14N = 4 ,
  ALG_SHA512_InclC14N = 5 , ALG_SHA224_InclC14N = 6 , ALG_MD5_ExclC14N = 31 , ALG_SHA1_ExclC14N = 32 ,
  ALG_MD5_InclC14NWithComments = 33 , ALG_SHA1_InclC14NWithComments = 34 , ALG_MD5_ExclC14NWithComments = 35 , ALG_SHA1_ExclC14NWithComments = 36 ,
  ALG_SHA256_ExclC14N = 37 , ALG_SHA256_InclC14NWithComments = 38 , ALG_SHA256_ExclC14NWithComments = 39 , ALG_SHA384_ExclC14N = 40 ,
  ALG_SHA384_InclC14NWithComments = 41 , ALG_SHA384_ExclC14NWithComments = 42 , ALG_SHA512_ExclC14N = 43 , ALG_SHA512_InclC14NWithComments = 44 ,
  ALG_SHA512_ExclC14NWithComments = 45 , ALG_SHA224_ExclC14N = 46 , ALG_SHA224_InclC14NWithComments = 47 , ALG_SHA224_ExclC14NWithComments = 48
}
 Hash canonicalization bundles for XML signatures. More...
 
enum  KEY_ALG : uint {
  ALG_DES = 1 , ALG_3DES_112 = 2 , ALG_3DES_168 = 3 , ALG_DESX = 91 ,
  ALG_AES_128 = 7 , ALG_AES_192 = 8 , ALG_AES_256 = 9 , ALG_ARC4 = 10 ,
  ALG_RSA_512 = 4 , ALG_RSA_1024 = 5 , ALG_RSA_2048 = 6 , ALG_RSA_4096 = 11 ,
  ALG_RSA_1152 = 121 , ALG_RSA_1408 = 122 , ALG_RSA_1536 = 131 , ALG_RSA_1976 = 130 ,
  ALG_RSA_1984 = 123 , ALG_RSA_8192 = 124 , ALG_RSA_2304 = 126 , ALG_RSA_2560 = 127 ,
  ALG_RSA_2816 = 128 , ALG_RSA_3072 = 129 , ALG_ECX_ED25519 = 201 , ALG_ECX_ED448 = 202 ,
  ALG_ECX_X25519 = 203 , ALG_ECX_X448 = 204 , ALG_ECC_SECP112R1 = 18 , ALG_ECC_SECP112R2 = 19 ,
  ALG_ECC_SECP128R1 = 20 , ALG_ECC_SECP128R2 = 21 , ALG_ECC_SECP160K1 = 22 , ALG_ECC_SECP160R1 = 23 ,
  ALG_ECC_SECP160R2 = 24 , ALG_ECC_SECP192K1 = 25 , ALG_ECC_SECP192R1 = 26 , ALG_ECC_SECP224K1 = 27 ,
  ALG_ECC_SECP224R1 = 28 , ALG_ECC_SECP256K1 = 29 , ALG_ECC_SECP256R1 = 30 , ALG_ECC_SECP384R1 = 31 ,
  ALG_ECC_SECP521R1 = 32 , ALG_ECC_X9_62_PRIME192V1 = ALG_ECC_SECP192R1 , ALG_ECC_X9_62_PRIME192V2 = 33 , ALG_ECC_X9_62_PRIME192V3 = 34 ,
  ALG_ECC_X9_62_PRIME239V1 = 35 , ALG_ECC_X9_62_PRIME239V2 = 36 , ALG_ECC_X9_62_PRIME239V3 = 37 , ALG_ECC_X9_62_PRIME256V1 = ALG_ECC_SECP256R1 ,
  ALG_ECC_BRAINPOOL_P160R1 = 38 , ALG_ECC_BRAINPOOL_P160T1 = 39 , ALG_ECC_BRAINPOOL_P192R1 = 40 , ALG_ECC_BRAINPOOL_P192T1 = 41 ,
  ALG_ECC_BRAINPOOL_P224R1 = 42 , ALG_ECC_BRAINPOOL_P224T1 = 43 , ALG_ECC_BRAINPOOL_P256R1 = 44 , ALG_ECC_BRAINPOOL_P256T1 = 45 ,
  ALG_ECC_BRAINPOOL_P320R1 = 46 , ALG_ECC_BRAINPOOL_P320T1 = 47 , ALG_ECC_BRAINPOOL_P384R1 = 48 , ALG_ECC_BRAINPOOL_P384T1 = 49 ,
  ALG_ECC_BRAINPOOL_P512R1 = 50 , ALG_ECC_BRAINPOOL_P512T1 = 51 , ALG_OBJ_BLOB_HOTP = 16 , ALG_HMAC_MD5 = 92 ,
  ALG_HMAC_SHA1 = 93 , ALG_HMAC_SHA2_256 = 94 , ALG_HMAC_SHA2_384 = 95 , ALG_HMAC_SHA2_512 = 96 ,
  ALG_HMAC_SHA2_224 = 97 , ALG_HMAC_SHA3_224 = 98 , ALG_HMAC_SHA3_256 = 99 , ALG_HMAC_SHA3_384 = 100 ,
  ALG_HMAC_SHA3_512 = 101 , ALG_RSA_512_PUB = (ALG_RSA_512 | (uint)1 << 31) , ALG_RSA_1024_PUB = (ALG_RSA_1024 | (uint)1 << 31) , ALG_RSA_2048_PUB = (ALG_RSA_2048 | (uint)1 << 31) ,
  ALG_RSA_4096_PUB = (ALG_RSA_4096 | (uint)1 << 31) , ALG_RSA_1152_PUB = (ALG_RSA_1152 | (uint)1 << 31) , ALG_RSA_1408_PUB = (ALG_RSA_1408 | (uint)1 << 31) , ALG_RSA_1536_PUB = (ALG_RSA_1536 | (uint)1 << 31) ,
  ALG_RSA_1976_PUB = (ALG_RSA_1976 | (uint)1 << 31) , ALG_RSA_1984_PUB = (ALG_RSA_1984 | (uint)1 << 31) , ALG_RSA_8192_PUB = (ALG_RSA_8192 | (uint)1 << 31) , ALG_RSA_2304_PUB = (ALG_RSA_2304 | (uint)1 << 31) ,
  ALG_RSA_2560_PUB = (ALG_RSA_2560 | (uint)1 << 31) , ALG_RSA_2816_PUB = (ALG_RSA_2816 | (uint)1 << 31) , ALG_RSA_3072_PUB = (ALG_RSA_3072 | (uint)1 << 31) , ALG_ECX_ED25519_PUB = (ALG_ECX_ED25519 | (uint)1 << 31) ,
  ALG_ECX_ED448_PUB = (ALG_ECX_ED448 | (uint)1 << 31) , ALG_ECX_X25519_PUB = (ALG_ECX_X25519 | (uint)1 << 31) , ALG_ECX_X448_PUB = (ALG_ECX_X448 | (uint)1 << 31) , ALG_ECC_SECP112R1_PUB = (ALG_ECC_SECP112R1 | ((uint)1 << 31)) ,
  ALG_ECC_SECP112R2_PUB = (ALG_ECC_SECP112R2 | ((uint)1 << 31)) , ALG_ECC_SECP128R1_PUB = (ALG_ECC_SECP128R1 | ((uint)1 << 31)) , ALG_ECC_SECP128R2_PUB = (ALG_ECC_SECP128R2 | ((uint)1 << 31)) , ALG_ECC_SECP160K1_PUB = (ALG_ECC_SECP160K1 | ((uint)1 << 31)) ,
  ALG_ECC_SECP160R1_PUB = (ALG_ECC_SECP160R1 | ((uint)1 << 31)) , ALG_ECC_SECP160R2_PUB = (ALG_ECC_SECP160R2 | ((uint)1 << 31)) , ALG_ECC_SECP192K1_PUB = (ALG_ECC_SECP192K1 | ((uint)1 << 31)) , ALG_ECC_SECP192R1_PUB = (ALG_ECC_SECP192R1 | ((uint)1 << 31)) ,
  ALG_ECC_SECP224K1_PUB = (ALG_ECC_SECP224K1 | ((uint)1 << 31)) , ALG_ECC_SECP224R1_PUB = (ALG_ECC_SECP224R1 | ((uint)1 << 31)) , ALG_ECC_SECP256K1_PUB = (ALG_ECC_SECP256K1 | ((uint)1 << 31)) , ALG_ECC_SECP256R1_PUB = (ALG_ECC_SECP256R1 | ((uint)1 << 31)) ,
  ALG_ECC_SECP384R1_PUB = (ALG_ECC_SECP384R1 | ((uint)1 << 31)) , ALG_ECC_SECP521R1_PUB = (ALG_ECC_SECP521R1 | ((uint)1 << 31)) , ALG_ECC_X9_62_PRIME192V1_PUB = (ALG_ECC_SECP192R1_PUB) , ALG_ECC_X9_62_PRIME192V2_PUB = (ALG_ECC_X9_62_PRIME192V2 | ((uint)1 << 31)) ,
  ALG_ECC_X9_62_PRIME192V3_PUB = (ALG_ECC_X9_62_PRIME192V3 | ((uint)1 << 31)) , ALG_ECC_X9_62_PRIME239V1_PUB = (ALG_ECC_X9_62_PRIME239V1 | ((uint)1 << 31)) , ALG_ECC_X9_62_PRIME239V2_PUB = (ALG_ECC_X9_62_PRIME239V2 | ((uint)1 << 31)) , ALG_ECC_X9_62_PRIME239V3_PUB = (ALG_ECC_X9_62_PRIME239V3 | ((uint)1 << 31)) ,
  ALG_ECC_X9_62_PRIME256V1_PUB = (ALG_ECC_SECP256R1_PUB) , ALG_ECC_BRAINPOOL_P160R1_PUB = (ALG_ECC_BRAINPOOL_P160R1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P160T1_PUB = (ALG_ECC_BRAINPOOL_P160T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P192R1_PUB = (ALG_ECC_BRAINPOOL_P192R1 | ((uint)1 << 31)) ,
  ALG_ECC_BRAINPOOL_P192T1_PUB = (ALG_ECC_BRAINPOOL_P192T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P224R1_PUB = (ALG_ECC_BRAINPOOL_P224R1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P224T1_PUB = (ALG_ECC_BRAINPOOL_P224T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P256R1_PUB = (ALG_ECC_BRAINPOOL_P256R1 | ((uint)1 << 31)) ,
  ALG_ECC_BRAINPOOL_P256T1_PUB = (ALG_ECC_BRAINPOOL_P256T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P320R1_PUB = (ALG_ECC_BRAINPOOL_P320R1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P320T1_PUB = (ALG_ECC_BRAINPOOL_P320T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P384R1_PUB = (ALG_ECC_BRAINPOOL_P384R1 | ((uint)1 << 31)) ,
  ALG_ECC_BRAINPOOL_P384T1_PUB = (ALG_ECC_BRAINPOOL_P384T1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P512R1_PUB = (ALG_ECC_BRAINPOOL_P512R1 | ((uint)1 << 31)) , ALG_ECC_BRAINPOOL_P512T1_PUB = (ALG_ECC_BRAINPOOL_P512T1 | ((uint)1 << 31))
}
 
enum  OBJTYPE : uint { ALG_OBJ_BLOB = DinamoApi.ALG_OBJ_BLOB , ALG_RSA_2048 = DinamoApi.ALG_RSA_2048 , ALG_RSA_1024 = DinamoApi.ALG_RSA_1024 , ALG_OBJ_EXT_MAP_2_OBJ = DinamoApi.ALG_OBJ_EXT_MAP_2_OBJ }
 
enum  KEYNAME : uint { SPB_GENERATE_KEY_NAME = DinamoApi.SPB_GENERATE_KEY_NAME , SPB_GENERATE_CER_NAME = DinamoApi.SPB_GENERATE_CER_NAME }
 
enum  ALG : uint {
  ALG_MD5 = 1 , ALG_SHA1 = 2 , ALG_SSL_SHA1_MD5 = 3 , ALG_SHA2_256 = 4 ,
  ALG_SHA2_384 = 5 , ALG_SHA2_512 = 6 , ALG_DES = 1 , ALG_3DES_112 = 2 ,
  ALG_3DES_168 = 3 , ALG_DESX = 91 , ALG_AES_128 = 7 , ALG_AES_192 = 8 ,
  ALG_AES_256 = 9 , ALG_ARC4 = 10 , ALG_RSA_512 = 4 , ALG_RSA_1024 = 5 ,
  ALG_RSA_2048 = 6 , ALG_RSA_4096 = 11 , ALG_RSA_512_PUB = 0x80000004 , ALG_RSA_1024_PUB = 0x80000005 ,
  ALG_RSA_2048_PUB = 0x80000006 , ALG_RSA_4096_PUB = 0x80000007 , ALG_OBJ_BLOB = DinamoApi.ALG_OBJ_BLOB , ALG_OBJ_BLOB_X509 = DinamoApi.ALG_OBJ_BLOB_X509 ,
  ALG_OBJ_BLOB_PKCS7 = DinamoApi.ALG_OBJ_BLOB_PKCS7 , ALG_OBJ_BLOB_CRL = DinamoApi.ALG_OBJ_BLOB_CRL , ALG_OBJ_BLOB_HOTP = DinamoApi.ALG_OBJ_BLOB_HOTP , ALG_OBJ_BLOB_DPGO3 = DinamoApi.ALG_OBJ_BLOB_DPGO3 ,
  ALG_OBJ_MAP = DinamoApi.ALG_OBJ_MAP , ALG_OBJ_EXT_MAP_2_OBJ = DinamoApi.ALG_OBJ_EXT_MAP_2_OBJ
}
 
enum  MODE_TYPE : int { MODE_NONE = DinamoApi.MODE_NONE , MODE_ECB = DinamoApi.MODE_ECB , MODE_CBC = DinamoApi.MODE_CBC }
 
enum  PADDING_TYPE : int {
  NO_PADDING = DinamoApi.D_NO_PADDING , PKCS5_PADDING = DinamoApi.D_PKCS5_PADDING , ZERO_PADDING = DinamoApi.D_ZERO_PADDING , NO_RSA_PADDING = DinamoApi.D_NO_RSA_PADDING ,
  PKCS1_PADDING = DinamoApi.D_PKCS1_PADDING , PSS_PADDING = DinamoApi.D_PSS_PADDING , X931_PADDING = DinamoApi.D_X931_PADDING , PSS_PADDING_SALT_LEN_MD = DinamoApi.D_PSS_SALT_LEN_MD_PADDING
}
 
enum  BLOB_TYPE : int {
  PRIVATEKEY_BLOB = 1 , PUBLICKEY_BLOB = 2 , SIMPLE_BLOB = 3 , PLAINTEXTKEY_BLOB = 4 ,
  RAW_BLOB = 5 , HOTP_BLOB = 6
}
 
enum  EftExportUsage : UInt16 {
  EFT_ME_TR31_EXP_USAGE_AUTO = DinamoApi.EFT_ME_TR31_EXP_USAGE_AUTO , EFT_ME_TR31_EXP_USAGE_B0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_B0 , EFT_ME_TR31_EXP_USAGE_B1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_B1 , EFT_ME_TR31_EXP_USAGE_B2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_B2 ,
  EFT_ME_TR31_EXP_USAGE_C0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_C0 , EFT_ME_TR31_EXP_USAGE_D0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_D0 , EFT_ME_TR31_EXP_USAGE_D1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_D1 , EFT_ME_TR31_EXP_USAGE_D2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_D2 ,
  EFT_ME_TR31_EXP_USAGE_E0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E0 , EFT_ME_TR31_EXP_USAGE_E1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E1 , EFT_ME_TR31_EXP_USAGE_E2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E2 , EFT_ME_TR31_EXP_USAGE_E3 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E3 ,
  EFT_ME_TR31_EXP_USAGE_E4 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E4 , EFT_ME_TR31_EXP_USAGE_E5 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E5 , EFT_ME_TR31_EXP_USAGE_E6 = DinamoApi.EFT_ME_TR31_EXP_USAGE_E6 , EFT_ME_TR31_EXP_USAGE_I0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_I0 ,
  EFT_ME_TR31_EXP_USAGE_K0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_K0 , EFT_ME_TR31_EXP_USAGE_K1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_K1 , EFT_ME_TR31_EXP_USAGE_K2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_K2 , EFT_ME_TR31_EXP_USAGE_K3 = DinamoApi.EFT_ME_TR31_EXP_USAGE_K3 ,
  EFT_ME_TR31_EXP_USAGE_M0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M0 , EFT_ME_TR31_EXP_USAGE_M1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M1 , EFT_ME_TR31_EXP_USAGE_M2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M2 , EFT_ME_TR31_EXP_USAGE_M3 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M3 ,
  EFT_ME_TR31_EXP_USAGE_M4 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M4 , EFT_ME_TR31_EXP_USAGE_M5 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M5 , EFT_ME_TR31_EXP_USAGE_M6 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M6 , EFT_ME_TR31_EXP_USAGE_M7 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M7 ,
  EFT_ME_TR31_EXP_USAGE_M8 = DinamoApi.EFT_ME_TR31_EXP_USAGE_M8 , EFT_ME_TR31_EXP_USAGE_P0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_P0 , EFT_ME_TR31_EXP_USAGE_S0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_S0 , EFT_ME_TR31_EXP_USAGE_S1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_S1 ,
  EFT_ME_TR31_EXP_USAGE_S2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_S2 , EFT_ME_TR31_EXP_USAGE_V0 = DinamoApi.EFT_ME_TR31_EXP_USAGE_V0 , EFT_ME_TR31_EXP_USAGE_V1 = DinamoApi.EFT_ME_TR31_EXP_USAGE_V1 , EFT_ME_TR31_EXP_USAGE_V2 = DinamoApi.EFT_ME_TR31_EXP_USAGE_V2 ,
  EFT_ME_TR31_EXP_USAGE_V3 = DinamoApi.EFT_ME_TR31_EXP_USAGE_V3 , EFT_ME_TR31_EXP_USAGE_V4 = DinamoApi.EFT_ME_TR31_EXP_USAGE_V4
}
 TR-31 export use identifier. More...
 
enum  EftExportMode : byte {
  EFT_ME_TR31_EXP_MODE_AUTO = DinamoApi.EFT_ME_TR31_EXP_MODE_AUTO , EFT_ME_TR31_EXP_MODE_B = DinamoApi.EFT_ME_TR31_EXP_MODE_B , EFT_ME_TR31_EXP_MODE_C = DinamoApi.EFT_ME_TR31_EXP_MODE_C , EFT_ME_TR31_EXP_MODE_D = DinamoApi.EFT_ME_TR31_EXP_MODE_D ,
  EFT_ME_TR31_EXP_MODE_E = DinamoApi.EFT_ME_TR31_EXP_MODE_E , EFT_ME_TR31_EXP_MODE_G = DinamoApi.EFT_ME_TR31_EXP_MODE_G , EFT_ME_TR31_EXP_MODE_N = DinamoApi.EFT_ME_TR31_EXP_MODE_N , EFT_ME_TR31_EXP_MODE_S = DinamoApi.EFT_ME_TR31_EXP_MODE_S ,
  EFT_ME_TR31_EXP_MODE_T = DinamoApi.EFT_ME_TR31_EXP_MODE_T , EFT_ME_TR31_EXP_MODE_V = DinamoApi.EFT_ME_TR31_EXP_MODE_V , EFT_ME_TR31_EXP_MODE_X = DinamoApi.EFT_ME_TR31_EXP_MODE_X , EFT_ME_TR31_EXP_MODE_Y = DinamoApi.EFT_ME_TR31_EXP_MODE_Y
}
 TR-31 export mode identifier. More...
 
enum  EftExportExpType : byte { EFT_ME_TR31_EXP_AUTO = DinamoApi.EFT_ME_TR31_EXP_AUTO , EFT_ME_TR31_EXP_X9_24 = DinamoApi.EFT_ME_TR31_EXP_X9_24 , EFT_ME_TR31_EXP_NON_EXPORTABLE = DinamoApi.EFT_ME_TR31_EXP_NON_EXPORTABLE , EFT_ME_TR31_EXP_KEK_EXPORTABLE = DinamoApi.EFT_ME_TR31_EXP_KEK_EXPORTABLE }
 TR-31 export type identifier. More...
 
enum  TOKEN_TYPE : int { TIME = 1 , EVENT = 2 , CHAP = 3 , NTP = 4 }
 
enum  GenPINOperation : UInt32 { DEFAULT_PIN = DinamoApi.GP_DEFAULT_PIN , USER_DEF_PIN = DinamoApi.GP_USER_DEF_PIN , RANDOM_PIN = DinamoApi.GP_RANDOM_PIN }
 PIN operation options. More...
 

Public Members

 DinamoClient ()
 Class constructor method.
 
void Connect (string User, string Password)
 Establishes an encrypted connection with the HSM using the load balance.

Parameters
UserHSM User/Partition.
PasswordUser password.

 
void Connect (string Address, string User, string Password)
 Connects to a specific HSM using an encrypted connection.
 
void Connect (string Address, string User, string Password, string Otp)
 Connects to a specific HSM using an encrypted connection.
 
void ConnectWithLB (string User, string Password, string Otp)
 
void ConnectWithLB (string Address, string User, string Password, string Otp)
 
void Connect (string Address, string User, string Password, bool Encrypted, bool UseLoadBalance)
 Establishes a connection with the HSM using all the API parameters.
 
void Connect (string Address, string User, string Password, string Otp, bool Encrypted, bool UseLoadBalance)
 Establishes a connection with the HSM using all the API parameters.
 
void ConnectAnonymously (string Address)
 Establishes an anonymous connection to the HSM.
 
void ConnectToken (string User, string Token)
 Establishes a connection with the HSM using a temporary token issued by the user.
 
void ConnectToken (string Address, string User, string Token)
 Establishes a connection with the HSM using a temporary token issued by the user.
 
void ConnectToken (string Address, string User, string Token, bool Encrypted, bool UseLoadBalance)
 establishes a connection with the HSM using a temporary token issued by the user.
 
void Disconnect (bool flagClose)
 Terminates the connection to the HSM.
 
void Disconnect ()
 Terminates the connection to the HSM.
 
UInt32 getCID ()
 Retrieves the CID (Correlation ID) of the current session. The CID makes it possible to relate the operation on the HSM client to the HSM logs. The CID is only available when there is an established session with the HSM, otherwise the value will be 0 (zero). This number is usually represented in hexadecimal.
 
string GetErrorString (Int32 _errorCode)
 Returns the message with the error description.
 
DateTime GetHSMDate ()
 Returns the date/time of the HSM.
 
void SetHSMDateTime (DateTime stDateTime)
 Sets the date/time of the HSM.
 
DinamoApi.SYS_COUNTER_INFO GetHSMCounterInfo ()
 Retrieves information from HSM system counters.
 
void GetHSMHardwareInfo ()
 Retrieves hardware information from the HSM.
 
void Backup (string DestFile, string Pin)
 Recover an HSM backup.
 
void Restore (string SourceFile, string Pin, bool IncludeNetworkParameters)
 Restore a backup in HSM.
 
int GetLogSize ()
 Retrieves the size of the HSM logs.
 
byte[] DGetStatLog ()
 Recover the HSM logs.
 
byte[] DGetStatLog (int StartPos, int BytesToRead)
 Recover the HSM logs.
 
int IPFilterOperationStatus ()
 Retrieves the status of the HSM IP filter.
 
int IPFilterOperationAdd (string szUser, string szIP)
 Adds an IP/user set to the HSM IP whitelist.
 
int IPFilterOperationRemove (string szUser, string szIP)
 Removes an IP/user set from the HSM IP whitelist.
 
int IPFilterSetStatus (bool bStatus)
 Sets the status of the HSM IP filter.
 
int IPFilterOptList(DinamoApi.ListIpFilterCallback filterIpCallBack, IntPtr param)
 Retrieves the list from the HSM IP filter.
 
void SaveLog (string fileName)
 Saves HSM logs to a file.
 
void ClearLog ()
 Clears HSM logs.
 
string EmitAuthenticationToken (DateTime expirationDate)
 
string IssueAToken (ulong expiration)
 This functionality is suitable for granular control of application authentication, where the issuing oftokens is managed by the security officer.
Expired Access Tok ens are cleared in 2 stages:
When a user who has expired Access Tokens logs in using Access Tokens. It only clears the expired Access Tokens themselves.
Using the RunATokenGC() function. Clears all expired Access Tok ens from the HSM.

 
string IssueAToken (long expiration)
 /overload void IssueAToken(ulong expiration)
 
string IssueAToken (DateTime expiration)
 /overload void IssueAToken(ulong expiration)
 
void RevokeAToken (string aToken)
 Revoke an HSM authentication token.
 
void RevokeAuthenticationToken (string strToken)
 
DinamoApi.DN_A_TOKEN_FULL[] ListATokenFull ()
 Lists the user's Access Tokens in the HSM.
 
void RunATokenGC ()
 Runs the Garbage Collector for HSM session tokens. This method cleans up any HSM Access Tokens that are no longer valid.
The GC should be called periodically by the application to keep the Access Token cache levels under control. The GC's execution schedule should be programmed to take into account the times of the HSM's greatest workloads.

 
uint GetATokenCounter ()
 Recovers the Access Token counter for the entire HSM.
 
void ChangePasswordUser (string szPassword)
 
void ChangeUserPassword (string szPassword)
 Changes the current user's password.
 
void AssignEventToken (string szUserId, byte[] byKey)
 It associates a standard event OTP token OATH with a user. After this call, the user will only authenticate with username, password and OTP.
 
void AssignTimeToken (string szUserId, byte[] byKey, UInt64 iInitialTime, Int16 iStep)
 It associates a standard time OTP token OATH with a user. After this call, the user will only authenticate with username, password and OTP.
 
void UnassignToken (string szUserId)
 Disassociates OTP authentication from a user. After this call, the user will only authenticate with username and password.
 
void OATHResync (string szUser, string szOTP1, string szOTP2)
 Re-synchronizes an event token, standard OATH, associated with an HSM user. It receives two consecutive OTPs, generated by the token, to synchronize the state of the token in the HSM user.
 
int GetUserAuthMask (string szUserName)
 Retrieves the user's authorization mask.
 
UserTrustInfo[] ListUserTrusts (string user, byte bType)
 Recover the user's relationships of trust.
 
string[] ListUsers ()
 Lists HSM users.
 
void BlockUser (string szUserName, bool bBlock)
 Blocks or unblocks a user.
 
void SetUserAuthMask (string szUserName, int iACL)
 Defines a user's authorization mask.
 
int GetUserInvalidLoginAttempts (string szUserName)
 Recovers the number of invalid login attempts since the last successful authentication.
 
bool IsUserBlocked (string szUserName)
 Checks if a user is blocked.
 
void CreateUser (string UserId, string Password)
 Creates an ordinary user, without system permissions.
 
void RemoveUser (string UserId)
 Remove a user.
 
IntPtr GenerateKey (string KeyId, DinamoClient.KEY_ALG Alg, bool Exportable)
 Generates a permanent key in the HSM.
 
IntPtr GenerateKey (string KeyId, DinamoClient.KEY_ALG Alg, bool Exportable, bool Temporary)
 Generates key.
 
IntPtr GetUserKey (string KeyId)
 Returns the Handler of a key (DestroyUserKey must be called after allocation).
 
void DestroyKey (IntPtr hKey)
 Release key handle.
 
int GetKeyAlgId (string strKeyId)
 Returns the algorithm of a key.
 
int GetKeyAlgId (IntPtr hKey)
 Returns the type of a key.
 
int GetKeyPadding (IntPtr hKey)
 Returns the padding type of a key.
 
int GetUserKeyLen (string KeyId)
 Returns the size of a key.
 
int GetUserKeyLen (IntPtr hKey)
 Returns the size of a key.
 
bool IsKeyExist (string KeyId)
 
bool HasObject (string Id)
 Verifies the existence of an object.
 
void GetMapInfo (string ObjectId, ref string Obj1Id, ref string Obj2Id)
 Retrieves map information (backward compatibility)
 
void GetMapInfo (string ObjectId, ref string Obj1Id, ref int Obj1TypeId, ref string Obj2Id, ref int Obj2TypeId)
 Retrieves map information.
 
List< CertAssociationListCertAssociations (bool onlyWithAssociation=false)
 Lists the certificates and their associated private keys.
 
bool IsKeyReadLock (string KeyId)
 Test if the key is exportable.
 
bool IsKeyReadLock (IntPtr hKey)
 Test if the key is exportable.
 
bool IsKeyEncrypted (string KeyId)
 Test that the key is encrypted.
 
bool IsKeyEncrypted (IntPtr hKey)
 Test that the key is encrypted.
 
void BlockObject (string szObjectName, bool bBlock)
 Changes the lock status of an object.
 
bool IsObjectBlocked (string szObjectName)
 Recovers the locked state of an object.
 
void GenerateMap (string MapId, string Obj1Id, ALG Obj1Type, string Obj2Id, ALG Obj2Type)
 
void RemoveObject (string ObjectId)
 Removes an object from the HSM.
 
void RemoveObjectIfExists (string ObjectId)
 Removes an object from the HSM, if it exists.
 
string[] ListObjects ()
 Lists the objects of the current HSM user.
 
Int32 ListCallback (string szName, ref DinamoApi.DBLOB pParam, Int32 bFinal)
 
string[] ListObjects(ALG type)
 
byte[] ReadFile (string FileId)
 
Int32 WriteLocalFileCallback (IntPtr pbData, Int32 cbData, ref DinamoApi.DBLOB_FILE pParam, Int32 bFinal)
 
void WriteFile (string FileId, byte[] byFileData)
 Imports objects into the HSM. Certificates, PKCS#7, Keys.
 
Int32 ReadLocalFileCallback (IntPtr pbData, ref Int32 pcbData, IntPtr pParam, out Int32 pbFinal)
 
byte[] ExportKey (IntPtr hKey, IntPtr hKeyEncryptionKey, BLOB_TYPE BlobType)
 
IntPtr ImportKey (string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId)
 
IntPtr ImportKey (string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId, bool Exportable, bool Temporary)
 
void ImportPKCS12File (string FilePath, string Password, string KeyId, string CertId, bool Exportable)
 Imports a key/certificate from a file in PKCS#12 format into the HSM.
 
Int32 ImportPKCS12 (string FilePath, string Password, string KeyId, string CertId, bool Exportable)
 
void ImportPKCS12 (byte[] Pkcs12, string Password, string KeyId, string CertId, bool Exportable)
 Imports a key/certificate from a buffer in PKCS#12 format into the HSM.
 
void ImportPKCS12 (byte[] Pkcs12, string Password, string KeyId, Int32 KeyAttr, string CertId, string PubKeyId, Int32 Reserved)
 Imports a key/certificate from a buffer in PKCS#12 format into the HSM.
 
byte[] PKCS8ExportKey (string szKeyId, string szSecret)
 
byte[] SPBExportPKCS12 (string szISPB, string szSecret)
 
byte[] ExportPKCS12 (string KeyId, string CertId, string Secret)
 Exports an HSM key and certificate in PKCS#12 format.
 
byte[] ExportPKCS12 (string KeyId, string CertId, string Secret, Int32 Flags)
 Exports an HSM key and certificate in PKCS#12 format.
 
void PKCS8ImportKey (string szKeyId, string szSecret, int dwKeyAlg, int dwAttrib, byte[] bKeyEnvelope)
 
void SPBImportPKCS12 (string szKeyId, string szSecret, string szDomain, int dwKeyAlg, int dwAttrib, string file)
 
SVaultGenTokenResponse GenSVaultToken (UInt32 Op, DinamoApi.SVAULT_GEN_TOKEN TokenInfo, UInt32 Reserved)
 It tokenizes a piece of data, generating a token blob and its respective token.
 
SVaultGenTokenResponse GenSVaultToken(DinamoApi.SVAULT_GEN_TOKEN TokenInfo)
 It tokenizes a piece of data, generating a token blob and its respective token.
 
SVaultGenTokenResponse GenSVaultDigitToken (byte CKS, byte MaskFlags, string MK, string Secret)
 It tokenizes digits, generating a token blob and its respective token.
 
SVaultGenTokenResponse GenSVaultStringToken (byte MaskFlags, string MK, string Secret)
 It tokenizes a UTF-8 string, generating a token blob and its respective token.
 
string GetSVaultTokenBlobData (UInt32 Op, string MK, string Mask, byte[] TokenBlob)
 Retrieves the secret or token of tokenized data using a token blob. This API also allows the recovery of masked secret or token.
 
string GetSVaultSecret (string MK, string Mask, byte[] TokenBlob)
 Retrieves the secret of tokenized data using a token blob. This API also allows the retrieval of the masked secret.
 
string GetSVaultToken (string MK, string Mask, byte[] TokenBlob)
 Retrieves the token of tokenized data using a token blob. This API also allows masked tokens to be retrieved.
 
void Encrypt (IntPtr hKey, bool Final, byte[] byData, ref int DataLen, int BufferLen)
 Encrypt blocks or files by passing the key reference. Uses the default mode/padding, i.e. MODE CBC and padding PKCS#5.
 
void Encrypt (String strKeyId, byte[] byData)
 Encrypts a block in ECB mode without any padding. This function is useful for PIN BLOCK. The size of the data array must be compatible with the type of key.
 
byte[] EncryptDefault (String strKeyId, byte[] byData)
 Encrypts a block using the standard HSM parameterization.
 
void Encrypt (string strKeyId, IntPtr hHash, bool Final, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen, int BufferLen)
 Encrypts a hash, general data or a file.
 
void Encrypt (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen, int BufferLen)
 Encrypts a hash, general data or a file.
 
void EncryptDefault (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, byte[] byData, ref int DataLen, int BufferLen)
 Encrypts using the standard HSM parameterization.
 
int GetEncryptBuffLen (IntPtr hKey, IntPtr hHash, int DataLen)
 Returns the size of the encryption buffer.
 
byte[] KEKEncode (String strKeyId, byte[] byKey)
 Encrypts a symmetric key that is outside the HSM using an RSA inside the HSM.
 
byte[] KEKDecode (String strKeyId, byte[] byKey)
 Decrypts a symmetric key that is outside the HSM using an RSA inside the HSM.
 
void Decrypt (string strKeyId, IntPtr hHash, bool Final, byte[] byData, ref int DataLen)
 Decrypts a hash, general data or a file.
 
void Decrypt (IntPtr hKey, IntPtr hHash, bool Final, byte[] byData, ref int DataLen)
 Decrypts a hash, general data or a file.
 
void Decrypt (string strKeyId, byte[] byData)
 Decrypts a block in ECB mode without any padding. This function is useful for PIN BLOCK. The size of the data array must be compatible with the type of key.
 
byte[] DecryptDefault (string strKeyId, byte[] byData)
 Decrypts a block using the standard HSM parameterization.
 
void Decrypt (string strKeyId, IntPtr hHash, bool Final, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen)
 Decrypts a hash, general data or a file.
 
void Decrypt (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen)
 Decrypts a hash, general data or a file.
 
void DecryptDefault (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, byte[] byData, ref int DataLen)
 Decrypted using the standard HSM parameterization.
 
IntPtr CreateHash(HASH_ALG AlgId)
 Creates a handle for a hash.
 
byte[] generateHash(HASH_ALG AlgId, byte[] Data, int Flags)
 Generates a HASH in just one call.
 
byte[] generateHash(HASH_ALG AlgId, byte[] Data)
 Generates a HASH in just one call.
 
byte[] generateMAC(HASH_ALG AlgId, String KeyId, byte[] Data, int Flags)
 Generates a MAC in just one call.
 
byte[] generateMAC(HASH_ALG AlgId, String KeyId, byte[] Data)
 Generates a MAC in just one call.
 
void initMAC(HASH_ALG AlgId, String KeyId, int Flags)
 Initializes a MAC operation in parts. It must be finalized with endMAC.
 
void initMAC(HASH_ALG AlgId, String KeyId)
 Initializes a MAC operation in parts. It must be finalized with endMAC.
 
void updateMAC (byte[] Data)
 Updates a MAC operation with more data.
 
byte[] endMAC ()
 Ends a MAC operation.
 
void initHash(HASH_ALG AlgId, int Flags)
 Initializes a HASH operation in parts. It must be finalized with endHash.
 
void initHash(HASH_ALG AlgId)
 Initializes a HASH operation in parts. It must be finalized with endHash.
 
void updateHash (byte[] Data)
 Updates a HASH operation with more data.
 
byte[] endHash ()
 Ends a HASH operation.
 
void HashData (IntPtr hHash, byte[] byData)
 Finds the hash for a piece of data and associates it with the hash handle.
 
byte[] Hash(HASH_ALG alg, byte[] data)
 Returns the hash of a piece of data.
 
void DestroyHash (IntPtr hHash)
 Releases the handle of the hash resource.
 
void BatchSign (string strKeyId, byte[] pbBlock, Int32 dwBlockCount, Int32 dwFlags)
 Sends a batch of blocks for signature in the HSM.
 
void BatchSign (IntPtr hPrivateKey, byte[] pbBlock, Int32 dwBlockCount, Int32 dwFlags)
 Sends a batch of blocks for signature in the HSM.
 
byte[] SignHash (String keyId, byte[] bHash, DinamoClient.HASH_ALG algHash)
 Sign a hash.
 
byte[] SignHash (String keyId, byte[] bHash, DinamoClient.HASH_ALG algHash, Int32 dwFlags)
 Sign a hash.
 
byte[] SignHash (String keyId, IntPtr pHash, DinamoClient.HASH_ALG algHash)
 
byte[] SignHash (IntPtr hPrivateKey, IntPtr hHash)
 Sign a hash.
 
byte[] SignHash (IntPtr hPrivateKey, IntPtr hHash, int dwFlags)
 Sign a hash.
 
bool VerifySignature (IntPtr hHash, IntPtr hPublicKey, byte[] bySignature)
 Check a signature.
 
void SetHashValue (IntPtr hHash, byte[] Value)
 Stores a hash.
 
byte[] GetHashValue (IntPtr hHash)
 Returns the hash value.
 
byte[] GetRandom (Int32 dwReturnLen)
 Returns a random number from the HSM generator.
 
DinamoApi.DN_M_OF_N_SPLIT_INFO MofNSplit (byte bM, byte bN, byte[] pbSecret)
 Divides M from N in a secret. According to Shamir's secret sharing pattern.
 
byte[] MofNRecover(DinamoApi.DN_M_OF_N_PART[] parts)
 Reconstructs the secret M of N from the parts of the custodians. According to Shamir's secret sharing pattern.
 
string GenBDKName (byte[] pbKSI)
 Generates the BDK name from a KSI (Key Serial Identification).
 
string GenBDKName (byte[] pbKSI, uint dwParam)
 Generates the BDK name from a KSI (Key Serial Identification).
 
string GenDUKPT (byte[] pbKSI, byte[] pbDID_CTR, uint dwParam)
 It generates a DUKPT key within the HSM using a KSI (Key Serial Identification), a DID (Device ID) and a CTR (Transaction Counter) from the same KSN (Key Serial Number).
 
string GenCVV (string keyId, string pan, string expirationDate, string serviceCode)
 It generates a CVV (Card Verification Value), CVV2 or iCVV using a key within the HSM. This API can also be used to generate card verification codes that support the 3-D Secure protocol. In the case of Visa, the service that implements the protocol is Verified by Visa, and the HSM supports the CAVV standard (Cardholder Authentication Verification Value, which is CVV2 with ATN method). In Mastercard's case, the 3-D Secure protocol is implemented in the SecureCode service, and the HSM supports the CVC2 (Card Verification Code 2) and HMAC SHA1 standards.
 
bool VerifyCVV (string keyId, string pan, string expirationDate, string serviceCode, string cvv)
 It verifies a CVV (Card Verification Value), CVV2 or iCVV using a key within the HSM. The API can also be used to verify card verification codes that support the 3-D Secure protocol. See more details in the GenCVV() API.
 
PinComponents GenPIN (string pgk, string pan, GenPINOperation operation, int pinLen, string inPin)
 Performs PIN generation operations from the PAN (Personal Account Number) and PGK (Key Name) data entered, with or without the use of offset.
 
bool VerifyPINBlock (string ptk, string pgk, string pan, string offset, byte[] pinblock)
 Checks the validity of a PIN in a PIN Block. First the PIN is extracted from the PIN Block with the PTK key, and then it is verified with the PGK key, the same one that was used to generate the PIN, with the GenPIN() function.
 
byte[] ExportTR31 (string kbpk, string key, EftExportUsage usage, EftExportMode mode, EftExportExpType exp)
 Exports a key in TR-31 format according to the ASC X9 TR 31-2018 standard.
 
void ImportTR31 (string kbpk, string key, bool isExportable, bool isTemporary, byte[] keyBlock)
 Import a key in TR-31 format according to the ASC X9 TR 31-2018 standard.
 
byte[] SignPKCS7 (string KeyId, string CertId, string CertChainId, P7_MODE mode, byte[] content)
 It generates a signature or co-signature following the PKCS#7 standard (Cryptographic Message Syntax Standard).
 
byte[] SignXML (string KeyId, HASH_ALG AlgId, string CertId, string UnsignedXml, string Filter)
 Digitally signs an XML document using the W3C XML digital signature standards. Receives parameters in string format.
 
byte[] SignXML (string KeyId, HASH_ALG AlgId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Digitally signs an XML document using the W3C XML digital signature standards. Receives parameters in byte array format.
 
byte[] SignXML(HASH_MODE HashMode, Int32 Flags, string KeyId, string CertId, byte[] byUnsignedXml, byte[] byFilter)
 Digitally signs an XML document using the W3C XML digital signature standards. Receives parameters in byte array format.
 
bool VerifySignedXML (string CertId, string SignedXml, string Filter)
 Checks the signature of a digitally signed XML document. Receives parameters in string format.
 
bool VerifySignedXML (string CertId, byte[] bySignedXml, byte[] byFilter)
 verifies the signature of a digitally signed XML document. It receives the parameters in byte array format.
 
byte[] SignPIX (string KeyId, string CertId, int Flags, byte[] byUnsignedPIXEnvelope)
 Digitally signs an XML in ISO 20.022 format following the PIX standard defined in the SPI (Instant Payment System).
 
byte[] SignPIX (string KeyId, string CertId, byte[] byUnsignedPIXEnvelope)
 Digitally signs an XML in ISO 20.022 format following the PIX standard defined in the SPI (Instant Payment System).
 
bool VerifyPIX (string ChainId, string CRL, string SignedPIXEnvelope)
 Checks the signature of a digitally signed XML document in ISO 20.022 format following the PIX standard defined in the SPI (Instant Payment System).
 
byte[] SignPIXDict (string KeyId, string CertId, int Flags, byte[] byUnsignedDictEnvelope)
 Digitally signs an XML in XMLDSig format following the DICT standard defined in the SPI (Instant Payment System).
 
byte[] SignPIXDict (string KeyId, string CertId, byte[] byUnsignedDictEnvelope)
 Digitally signs an XML in XMLDSig format following the DICT standard defined in the SPI (Instant Payment System).
 
bool VerifyPIX (string ChainId, string CRL, int Flags, byte[] SignedPIXEnvelope)
 Checks the signature of a digitally signed XML document in ISO 20.022 format following the PIX standard defined in the SPI (Instant Payment System).
 
bool VerifyPIX (string ChainId, string CRL, byte[] SignedPIXEnvelope)
 Checks the signature of a digitally signed XML document in ISO 20.022 format following the PIX standard defined in the SPI (Instant Payment System).
 
bool VerifyPIXDict (string ChainId, string CRL, int Flags, byte[] SignedDictEnvelope)
 Checks the signature of a digitally signed XML document in XMLDSig format following the DICT standard defined in the SPI (Instant Payment System).
 
bool VerifyPIXDict (string ChainId, string CRL, byte[] SignedDictEnvelope)
 Checks the signature of a digitally signed XML document in XMLDSig format following the DICT standard defined in the SPI (Instant Payment System).
 
byte[] SignPIXJWS (string KeyId, byte[] byHeader, byte[] byPayload)
 It makes a JWS RFC 7515 signature following the PIX standard defined in the SPI (Instant Payment System).
 
string SignPIXJWS (string KeyId, string Header, string Payload)
 It makes a JWS RFC 7515 signature following the PIX standard defined in the SPI (Instant Payment System).
 
JwsComponents CheckPIXJWS (string Chain, string CRL, byte[] byJWS, Int32 flags)
 Validates an RFC 7515 signed JWS following the PIX standard defined in the SPI (Instant Payment System).
 
JwsComponents CheckPIXJWS (string Chain, string CRL, string JWS, Int32 flags)
 Validates an RFC 7515 signed JWS following the PIX standard defined in the SPI (Instant Payment System).
 
bool CheckPIXJWS (string Chain, string CRL, byte[] byJWS)
 Validates an RFC 7515 signed JWS following the PIX standard defined in the SPI (Instant Payment System).
 
bool CheckPIXJWS (string Chain, string CRL, string JWS)
 Validates an RFC 7515 signed JWS following the PIX standard defined in the SPI (Instant Payment System).
 
PIXResponse postPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 It makes a secure HTTP POST request following the PIX standard defined in SPI (Instant Payment System). Uses the basic initial HTTP header.
 
PIXResponse postPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, Int32 Param)
 It makes a secure HTTP POST request following the PIX standard defined in SPI (Instant Payment System).
 
PIXResponse putPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 It makes a secure HTTP PUT request following the PIX standard defined in the SPI (Instant Payment System). Uses the basic initial HTTP header.
 
PIXResponse putPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, Int32 Param)
 It makes a secure HTTP PUT request following the PIX standard defined in the SPI (Instant Payment System).
 
PIXResponse getPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 It makes a secure HTTP GET request following the PIX standard defined in the SPI (Instant Payment System). Uses the basic initial HTTP header.
 
PIXResponse getPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, Int32 Param)
 It makes a secure HTTP GET request following the PIX standard defined in the SPI (Instant Payment System).
 
PIXResponse deletePIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 Makes a secure HTTP DELETE request following the PIX standard defined in SPI (Instant Payment System). Uses the basic initial HTTP header.
 
PIXResponse deletePIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, Int32 Param)
 It makes a secure HTTP DELETE request following the PIX standard defined in SPI (Instant Payment System).
 
DinamoApi.PIXHTTPReqDetails getPIXHTTPReqDetails ()
 Retrieves the details of the last PIX HTTP request (POST, GET...) made in this session. This operation must be called immediately after calling the PIX request API. It must be called using the same session. Do not perform other operations between these calls.
 
Int64 getPIXHTTPReqCode ()
 Retrieves the return code of the last PIX HTTP request (POST, GET...) made in this session. This operation must be called immediately after calling the PIX request API. It must be called using the same session. Do not perform any other operations between these calls.
 
bool OATHCheck (string masterKeyId, string otp, byte[] bBlob)
 Check OTP value.
 
bool OATHCheck (string masterKeyId, string otp, byte[] bBlob, int dwFlag)
 Check OTP value.
 
byte[] OATHBlobResync (string szMasterKeyId, string szOTP1, string szOTP2, byte[] bOATHBlob)
 Re-synchronizes a blob OATH by displaying two continuous OTP values.
 
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.
 
void SPBListObjects(OBJTYPE type, DinamoApi.ListCallbackFilter filterCallBack, IntPtr param)
 Lists objects of a certain type (key, certificate, etc.).
 
byte[] SPBGetCertificate (string strIdCertificate)
 Retrieves a certificate stored in a namespace in the HSM.
 
string SPBGenerateKey (string ISPB, string domain, bool isExportable)
 Generates RSA 2048 key in the SPB standard. This function will always adhere to the SPB requirements, according to the RSFN security manual. DinamoClient.GenerateKey(string, KEY_ALG, bool)
 
byte[] SPBGenerateCSR (string sPrivateKeyName, string sSubject)
 Generates a new CSR based on an existing key (RSA 2048).
 
byte[] SPBEncode (string szSrcISPB, string szDstISPB, byte[] pbMsgIn, byte bSpecialTreatment)
 Encodes a message with the SPB header, signing, encrypting and including all the header fields defined in the RSFN security manual.
 
byte[] SPBEncode (string szSrcISPB, string szDstISPB, byte[] pbMsgIn, byte bSpecialTreatment, byte bErrorCode, UInt32 dwFlags)
 Encodes a message with the SPB header, signing, encrypting and including all the header fields defined in the RSFN security manual.
 
void SPBEncode (string szSrcISPB, string szDstISPB, Stream sMsgIn, Stream sMsgOut, byte bErrorCode, byte bSpecialTreatment, UInt32 dwFlags)
 Encodes a message with the SPB header, signing, encrypting and including all the header fields defined in the RSFN security manual.
 
byte[] SPBDecode (string szSrcISPB, string szDstISPB, byte[] pbMsgIn)
 Decodes a message in the SPB standard, checking signatures, decrypting, but does not check encoding.
 
byte[] SPBDecode (string szSrcISPB, string szDstISPB, byte[] pbMsgIn, bool AcceptExpiredCert, bool AutoUpdateCert)
 Decrypts a message in the SPB standard, checking signatures and decrypting.
 
byte[] SPBDecode (string szSrcISPB, string szDstISPB, byte[] pbMsgIn, bool AcceptExpiredCert, bool AutoUpdateCert, UInt32 dwFlags)
 Decrypts a message in the SPB standard, checking signatures and decrypting.
 
void SPBDecode (string szSrcISPB, string szDstISPB, Stream sMsgIn, Stream sMsgOut, bool AcceptExpiredCert, bool AutoUpdateCert, UInt32 dwFlags)
 Decrypts a message in the SPB standard, checking signatures and decrypting.
 
string SPBMapInfoCert (string sIdCert)
 Creates a map with the institution's certificate in a slot.
 
void SPBSetISPBMap (string sIdMap, string sIdKey, string sIdCert)
 Creates a map with the institution's key and certificate in a slot.
 
void SPBImportPKCS12 (string szPkcs12File, string szPkcs12Pwd, string szNamespace, string szDomain, int dwKeyAttr)
 Imports a certificate from a PKCS#12 container into the HSM.
 
void SPBImportPKCS12 (string szPkcs12File, string szPkcs12Pwd, string szNamespace, string szDomain, int dwKeyAttr, bool isActivate)
 Imports a certificate from a PKCS#12 container into the HSM.
 
void SPBImportCertificate (string szDomain, byte[] bCertificate)
 Import a certificate into an HSM namespace.
 
void SPBImportCertificate (string szDomain, byte[] bCertificate, bool isCIPCertificate=false)
 Import a certificate into an HSM namespace.
 
void SPBActivateCertificate (string szDomain, string szCA, string szSN, bool isCIPCertificate=false)
 Activates a certificate that has already been imported into the HSM. If another certificate is active, it will be inactivated. Only one certificate will remain active per institution, per domain within an HSM namespace.
 
void SPBImportCertificate (string szNamespace, string szDomain, byte[] bCertificate, bool isCIPCertificate=false)
 Activates a certificate that has already been imported into the HSM. If another certificate is active, it will be inactivated. Only one certificate will remain active per institution, per domain within an HSM namespace.
 
void SPBActivateCertificate (string szNamespace, string szDomain, string szCA, string szSN, bool isCIPCertificate=false)
 Activates a certificate that has already been imported into the HSM. If another certificate is active, it will be inactivated. Only one certificate will remain active per institution, per domain within an HSM namespace.
 
string SPBCalculateObjectId (string szISPB, string szDomain, KEYNAME dwKeyType)
 Function to help format the identification of internal HSM objects according to the standard used in theSPB module.
 
DinamoApi.SPB_CERT_X509_INFO SPBGetCertificateInfo (byte[] certificate)
 Retrieves information from the certificate.
 
void BchainCreateXPrvBtcMinikey (string szId, bool isExportable, bool isTemporary)
 Creates an XPriv private key for Bitcoin in minikey format.
 
void BchainCreateXPrvBip32 (string szId, byte bVersion, bool isExportable, bool isTemporary)
 Creates an XPriv private key in BIP32 format.
 
void BchainCreateXPrvBip32Seed (string szId, DinamoApi.DN_BCHAIN_BIP32_SEED_XPRV_DATA pData, bool isExportable, bool isTemporary)
 Creates an XPriv private key in BIP32 format using seed.
 
void BchainCreateXPrvBip39Seed (string szId, DinamoApi.DN_BCHAIN_BIP39_SEED_XPRV_DATA pData, bool isExportable, bool isTemporary)
 Creates an XPriv private key in BIP39 format using seed.
 
DinamoApi.DN_BCHAIN_KEY_INFO BchainCreateBip32Ckd (byte bVersion, UInt32 dwIndex, string szPar, string szDst, bool isExportable, bool isTemporary)
 Performs a Child Key Derivation (CKD) operation. Derives an Extended Private Key (XPrv) for the blockchain in the BIP32 standard.
 
byte[] BchainSignHash (byte bType, byte bHashMode, byte[] pbHash, string szPk)
 Sign a hash using the Blockchain module.
 
byte[] BchainGetPubKey (byte bType, string szId)
 Retrieves a public key using the blockchain module.
 
byte[] BchainGetAddress (byte bType, byte bVersion, string szHrp, string szId)
 Retrieves the address of a key using the blockchain module.
 
byte[] BchainEdDsaSign (byte bType, string szCtxStr, byte[] pbData, string szId)
 Generates an EdDsa signature using the blockchain module.
 
void BchainGenerateKey (Dinamo.Hsm.DinamoClient.KEY_ALG dwAlg, string szId, bool isExportable, bool isTemporary)
 Generates a marked key for use in the blockchain module.
 

Detailed description

API class for accessing HSM functionalities Dinamo. In this class it is possible to program using the administrative functionalities of machine monitoring, logging, backup, as well as the primitive functionalities such as symmetric and asymmetric key cryptography and the functionalities of the HSM modules.

Examples
atoken.cs, basic_post_put_get_delete_pix.cs, batchsign.cs, bchain_ckd.cs, bchain_eddsa_sign.cs, bchain_get_address.cs, bchain_get_pub.cs, bchain_sign_hash.cs, block_object.cs, dukpt.cs, eft_gen_pin.cs, eft_gen_verify_cvv.cs, eft_verify_pinblock.cs, enc_dec.cs, export_import_tr31.cs, generate_hash.cs, generate_hmac.cs, generate_hmac_lau.cs, get_counter_info.cs, get_date.cs, import_export_pkcs12.cs, list_association.cs, m_of_n.cs, oath.cs, post_put_get_delete_pix.cs, read_file. cs, rsa_enc_dec.cs, sign_check_jws.cs, sign_hash.cs, sign_verify_dict.cs, sign_verify_pix.cs, signxml.cs, spb.cs, spb_file_cip.cs, spb_import_activate.cs and tokenization.cs.

Documentation of enumerations

BARCODE

enum BARCODE: int
Enumerators
BARCODE128 
BARCODEPDF417 

P7_MODE

enum P7_MODE: uint

PKCS#7 Modes

Enumerators
TAC_MOD_CORE_P7_TEXT 

Text only.

TAC_MOD_CORE_P7_NOCERTS 

Do not include certificates.

TAC_MOD_CORE_P7_NOSIGS 
TAC_MOD_CORE_P7_NOCHAIN 
TAC_MOD_CORE_P7_NOINTERN 
TAC_MOD_CORE_P7_NOVERIFY 
TAC_MOD_CORE_P7_DETACHED 
TAC_MOD_CORE_P7_BINARY 
TAC_MOD_CORE_P7_NOATTR 
TAC_MOD_CORE_P7_NOSMIMECAP 
TAC_MOD_CORE_P7_NOOLDMIMETYPE 
TAC_MOD_CORE_P7_CRLFEOL 
TAC_MOD_CORE_P7_NOCRL 
TAC_MOD_CORE_P7_COSIGN 

OATH_TYPE

Enumerators
ISSUE_OATH_GENERATE_HOTP 
ISSUE_OATH_GENERATE_TOTP 
ISSUE_OATH_IMPORT_HOTP 
ISSUE_OATH_IMPORT_TOTP 

HASH_ALG

enum HASH_ALG: int

Hash algorithm for signatures.

Enumerators
ALG_MD5 

Message-Digest algorithm 5 (16 bytes).

ALG_SHA1 

Secure Hash Algorithm Version 1 (20 bytes).

ALG_SSL_SHA1_MD5 

Hash algorithm for client authentication in SSLv3.

ALG_SHA2_256 

SHA2 algorithm - 256 bits (32 bytes)

ALG_SHA2_384 

SHA2 algorithm - 384 (48 bytes)

ALG_SHA2_512 

SHA2 algorithm - 512 (64 bytes)

ALG_SHA2_224 

SHA2 algorithm - 224 (28 bytes)

ALG_SHA3_224 

SHA3 algorithm - 224 (28 bytes)

ALG_SHA3_256 

SHA3 algorithm - 256 (32 bytes)

ALG_SHA3_384 

SHA3 algorithm - 384 (48 bytes)

ALG_SHA3_512 

SHA3 algorithm - 512 (64 bytes)

ALG_IDENTITY_FUNC 

Identity function algorithm.

ALG_HMAC_MD5 
ALG_HMAC_SHA1 
ALG_HMAC_SHA2_256 
ALG_HMAC_SHA2_384 
ALG_HMAC_SHA2_512 
Examples
block_object.cs, generate_hash.cs, generate_hmac.cs, generate_hmac_lau.cs, sign_hash. cs and signxml.cs.

HASH_MODE

enum HASH_MODE: byte

Canonicalization hash bundles for XML signatures.

Enumerators
ALG_MD5_InclC14N 

MD5 hash with InclC14N canonicalization.

ALG_SHA1_InclC14N 

SHA1 hash with InclC14N canonicalization.

ALG_SHA256_InclC14N 

SHA256 hash with InclC14N canonicalization.

ALG_SHA384_InclC14N 

SHA384 hash with InclC14N canonicalization.

ALG_SHA512_InclC14N 

SHA512 hash with InclC14N canonicalization.

ALG_SHA224_InclC14N 

SHA224 hash with InclC14N canonicalization.

ALG_MD5_ExclC14N 

MD5 hash with ExclC14N canonicalization.

ALG_SHA1_ExclC14N 

SHA1 hash with ExclC14N canonicalization.

ALG_MD5_InclC14NWithComments 

MD5 hash with InclC14NWithComments canonicalization.

ALG_SHA1_InclC14NWithComments 

SHA1 hash with InclC14NWithComments canonicalization.

ALG_MD5_ExclC14NWithComments 

MD5 hash with ExclC14NWithComments canonicalization.

ALG_SHA1_ExclC14NWithComments 

SHA1 hash with ExclC14NWithComments canonicalization.

ALG_SHA256_ExclC14N 

SHA256 hash with ExclC14N canonicalization.

ALG_SHA256_InclC14NWithComments 

SHA256 hash with InclC14NWithComments canonicalization.

ALG_SHA256_ExclC14NWithComments 

SHA256 hash with InclC14NWithComments canonicalization.

ALG_SHA384_ExclC14N 

SHA384 hash with ExclC14N canonicalization.

ALG_SHA384_InclC14NWithComments 

SHA384 hash with InclC14NWithComments canonicalization.

ALG_SHA384_ExclC14NWithComments 

SHA384 hash with ExclC14NWithComments canonicalization.

ALG_SHA512_ExclC14N 

SHA512 hash with ExclC14N canonicalization.

ALG_SHA512_InclC14NWithComments 

SHA512 hash with InclC14NWithComments canonicalization.

ALG_SHA512_ExclC14NWithComments 

SHA512 hash with ExclC14NWithComments canonicalization.

ALG_SHA224_ExclC14N 

SHA224 hash with ExclC14N canonicalization.

ALG_SHA224_InclC14NWithComments 

SHA224 hash with InclC14NWithComments canonicalization.

ALG_SHA224_ExclC14NWithComments 

SHA224 hash with ExclC14NWithComments canonicalization.

KEY_ALG

enum KEY_ALG: uint
Enumerators
ALG_DES 
ALG_3DES_112 
ALG_3DES_168 
ALG_DESX 
ALG_AES_128 
ALG_AES_192 
ALG_AES_256 
ALG_ARC4 
ALG_RSA_512 
ALG_RSA_1024 
ALG_RSA_2048 
ALG_RSA_4096 
ALG_RSA_1152 
ALG_RSA_1408 
ALG_RSA_1536 
ALG_RSA_1976 
ALG_RSA_1984 
ALG_RSA_8192 
ALG_RSA_2304 
ALG_RSA_2560 
ALG_RSA_2816 
ALG_RSA_3072 
ALG_ECX_ED25519 
ALG_ECX_ED448 
ALG_ECX_X25519 
ALG_ECX_X448 
ALG_ECC_SECP112R1 
ALG_ECC_SECP112R2 
ALG_ECC_SECP128R1 
ALG_ECC_SECP128R2 
ALG_ECC_SECP160K1 
ALG_ECC_SECP160R1 
ALG_ECC_SECP160R2 
ALG_ECC_SECP192K1 
ALG_ECC_SECP192R1 
ALG_ECC_SECP224K1 
ALG_ECC_SECP224R1 
ALG_ECC_SECP256K1 
ALG_ECC_SECP256R1 
ALG_ECC_SECP384R1 
ALG_ECC_SECP521R1 
ALG_ECC_X9_62_PRIME192V1 
ALG_ECC_X9_62_PRIME192V2 
ALG_ECC_X9_62_PRIME192V3 
ALG_ECC_X9_62_PRIME239V1 
ALG_ECC_X9_62_PRIME239V2 
ALG_ECC_X9_62_PRIME239V3 
ALG_ECC_X9_62_PRIME256V1 
ALG_ECC_BRAINPOOL_P160R1 
ALG_ECC_BRAINPOOL_P160T1 
ALG_ECC_BRAINPOOL_P192R1 
ALG_ECC_BRAINPOOL_P192T1 
ALG_ECC_BRAINPOOL_P224R1 
ALG_ECC_BRAINPOOL_P224T1 
ALG_ECC_BRAINPOOL_P256R1 
ALG_ECC_BRAINPOOL_P256T1 
ALG_ECC_BRAINPOOL_P320R1 
ALG_ECC_BRAINPOOL_P320T1 
ALG_ECC_BRAINPOOL_P384R1 
ALG_ECC_BRAINPOOL_P384T1 
ALG_ECC_BRAINPOOL_P512R1 
ALG_ECC_BRAINPOOL_P512T1 
ALG_OBJ_BLOB_HOTP 
ALG_HMAC_MD5 
ALG_HMAC_SHA1 
ALG_HMAC_SHA2_256 
ALG_HMAC_SHA2_384 
ALG_HMAC_SHA2_512 
ALG_HMAC_SHA2_224 
ALG_HMAC_SHA3_224 
ALG_HMAC_SHA3_256 
ALG_HMAC_SHA3_384 
ALG_HMAC_SHA3_512 
ALG_RSA_512_PUB 
ALG_RSA_1024_PUB 
ALG_RSA_2048_PUB 
ALG_RSA_4096_PUB 
ALG_RSA_1152_PUB 
ALG_RSA_1408_PUB 
ALG_RSA_1536_PUB 
ALG_RSA_1976_PUB 
ALG_RSA_1984_PUB 
ALG_RSA_8192_PUB 
ALG_RSA_2304_PUB 
ALG_RSA_2560_PUB 
ALG_RSA_2816_PUB 
ALG_RSA_3072_PUB 
ALG_ECX_ED25519_PUB 
ALG_ECX_ED448_PUB 
ALG_ECX_X25519_PUB 
ALG_ECX_X448_PUB 
ALG_ECC_SECP112R1_PUB 
ALG_ECC_SECP112R2_PUB 
ALG_ECC_SECP128R1_PUB 
ALG_ECC_SECP128R2_PUB 
ALG_ECC_SECP160K1_PUB 
ALG_ECC_SECP160R1_PUB 
ALG_ECC_SECP160R2_PUB 
ALG_ECC_SECP192K1_PUB 
ALG_ECC_SECP192R1_PUB 
ALG_ECC_SECP224K1_PUB 
ALG_ECC_SECP224R1_PUB 
ALG_ECC_SECP256K1_PUB 
ALG_ECC_SECP256R1_PUB 
ALG_ECC_SECP384R1_PUB 
ALG_ECC_SECP521R1_PUB 
ALG_ECC_X9_62_PRIME192V1_PUB 
ALG_ECC_X9_62_PRIME192V2_PUB 
ALG_ECC_X9_62_PRIME192V3_PUB 
ALG_ECC_X9_62_PRIME239V1_PUB 
ALG_ECC_X9_62_PRIME239V2_PUB 
ALG_ECC_X9_62_PRIME239V3_PUB 
ALG_ECC_X9_62_PRIME256V1_PUB 
ALG_ECC_BRAINPOOL_P160R1_PUB 
ALG_ECC_BRAINPOOL_P160T1_PUB 
ALG_ECC_BRAINPOOL_P192R1_PUB 
ALG_ECC_BRAINPOOL_P192T1_PUB 
ALG_ECC_BRAINPOOL_P224R1_PUB 
ALG_ECC_BRAINPOOL_P224T1_PUB 
ALG_ECC_BRAINPOOL_P256R1_PUB 
ALG_ECC_BRAINPOOL_P256T1_PUB 
ALG_ECC_BRAINPOOL_P320R1_PUB 
ALG_ECC_BRAINPOOL_P320T1_PUB 
ALG_ECC_BRAINPOOL_P384R1_PUB 
ALG_ECC_BRAINPOOL_P384T1_PUB 
ALG_ECC_BRAINPOOL_P512R1_PUB 
ALG_ECC_BRAINPOOL_P512T1_PUB 
Examples
bchain_eddsa_sign.cs, block_object.cs, dukpt.cs, eft_gen_pin.cs, eft_gen_verify_cvv.cs, eft_verify_pinblock.cs, generate_hmac.cs, generate_hmac_lau. cs,oath.cs and rsa_enc_dec.cs.

OBJTYPE

enum OBJTYPE: uint
Enumerators
ALG_OBJ_BLOB 
ALG_RSA_2048 
ALG_RSA_1024 
ALG_OBJ_EXT_MAP_2_OBJ 

KEYNAME

enum KEYNAME: uint
Enumerators
SPB_GENERATE_KEY_NAME 

Type Key name.

See also
DinamoApi.SPB_GENERATE_KEY_NAME
SPB_GENERATE_CER_NAME 

ALG

enum ALG: uint
Enumerators
ALG_MD5 

MD5 hash.

ALG_SHA1 
ALG_SSL_SHA1_MD5 
ALG_SHA2_256 
ALG_SHA2_384 
ALG_SHA2_512 
ALG_DES 
ALG_3DES_112 
ALG_3DES_168 
ALG_DESX 
ALG_AES_128 
ALG_AES_192 
ALG_AES_256 
ALG_ARC4 
ALG_RSA_512 
ALG_RSA_1024 
ALG_RSA_2048 
ALG_RSA_4096 
ALG_RSA_512_PUB 
ALG_RSA_1024_PUB 
ALG_RSA_2048_PUB 
ALG_RSA_4096_PUB 
ALG_OBJ_BLOB 
ALG_OBJ_BLOB_X509 
ALG_OBJ_BLOB_PKCS7 
ALG_OBJ_BLOB_CRL 
ALG_OBJ_BLOB_HOTP 
ALG_OBJ_BLOB_DPGO3 
ALG_OBJ_MAP 
ALG_OBJ_EXT_MAP_2_OBJ 

MODE_TYPE

enum MODE_TYPE: int
Enumerators
MODE_NONE 
MODE_ECB 
MODE_CBC 
Examples
enc_dec.cs and rsa_enc_dec.cs.

PADDING_TYPE

enum PADDING_TYPE: int
Enumerators
NO_PADDING 
PKCS5_PADDING 
ZERO_PADDING 
NO_RSA_PADDING 
PKCS1_PADDING 
PSS_PADDING 
X931_PADDING 
PSS_PADDING_SALT_LEN_MD 
Examples
enc_dec.cs and rsa_enc_dec.cs.

BLOB_TYPE

enum BLOB_TYPE: int
Enumerators
PRIVATEKEY_BLOB 
PUBLICKEY_BLOB 
SIMPLE_BLOB 
PLAINTEXTKEY_BLOB 
RAW_BLOB 
HOTP_BLOB 
Examples
eft_gen_pin.cs, eft_gen_verify_cvv.cs, eft_verify_pinblock.cs, generate_hmac_lau. cs and rsa_enc_dec.cs.

EftExportUsage

enum EftExportUsage: UInt16

TR-31 export use identifier.

Enumerators
EFT_ME_TR31_EXP_USAGE_AUTO 

Sets the identifier automatically. The following values are used: EFT_ME_TR31_EXP_USAGE_D0 for symmetric key and EFT_ME_TR31_EXP_USAGE_D1 for asymmetric key.

EFT_ME_TR31_EXP_USAGE_B0 

BDK Base Derivation Key

EFT_ME_TR31_EXP_USAGE_B1 

Initial DUKPT Key

EFT_ME_TR31_EXP_USAGE_B2 

Base Key Variant Key

EFT_ME_TR31_EXP_USAGE_C0 

CVK Card Verification Key

EFT_ME_TR31_EXP_USAGE_D0 

Symmetric Key for Data Encryption

EFT_ME_TR31_EXP_USAGE_D1 

Asymmetric Key for Data Encryption

EFT_ME_TR31_EXP_USAGE_D2 

Data Encryption Key for Decimalization Table

EFT_ME_TR31_EXP_USAGE_E0 

EMV/chip Issuer Master Key: Application cryptograms

EFT_ME_TR31_EXP_USAGE_E1 

EMV/chip Issuer Master Key: Secure Messaging for Confidentiality

EFT_ME_TR31_EXP_USAGE_E2 

EMV/chip Issuer Master Key: Secure Messaging for Integrity

EFT_ME_TR31_EXP_USAGE_E3 

EMV/chip Issuer Master Key: Data Authentication Code

EFT_ME_TR31_EXP_USAGE_E4 

EMV/chip Issuer Master Key: Dynamic Numbers

EFT_ME_TR31_EXP_USAGE_E5 

EMV/chip Issuer Master Key: Card Personalization

EFT_ME_TR31_EXP_USAGE_E6 

EMV/chip Issuer Master Key: Other

EFT_ME_TR31_EXP_USAGE_I0 

Initialization Vector (IV)

EFT_ME_TR31_EXP_USAGE_K0 

Key Encryption or wrapping

EFT_ME_TR31_EXP_USAGE_K1 

TR-31 Key Block Protection Key

EFT_ME_TR31_EXP_USAGE_K2 

TR-34 Asymmetric key

EFT_ME_TR31_EXP_USAGE_K3 

Asymmetric key for key agreement/key wrapping

EFT_ME_TR31_EXP_USAGE_M0 

ISO 16609 MAC algorithm 1 (using TDEA)

EFT_ME_TR31_EXP_USAGE_M1 

ISO 9797-1 MAC Algorithm 1

EFT_ME_TR31_EXP_USAGE_M2 

ISO 9797-1 MAC Algorithm 2

EFT_ME_TR31_EXP_USAGE_M3 

ISO 9797-1 MAC Algorithm 3

EFT_ME_TR31_EXP_USAGE_M4 

ISO 9797-1 MAC Algorithm 4

EFT_ME_TR31_EXP_USAGE_M5 

ISO 9797-1:1999 MAC Algorithm 5

EFT_ME_TR31_EXP_USAGE_M6 

ISO 9797-1:2011 MAC Algorithm 5/CMAC

EFT_ME_TR31_EXP_USAGE_M7 

HMAC

EFT_ME_TR31_EXP_USAGE_M8 

ISO 9797-1:2011 MAC Algorithm 6

EFT_ME_TR31_EXP_USAGE_P0 

PIN Encryption

EFT_ME_TR31_EXP_USAGE_S0 

Asymmetric key pair for digital signature

EFT_ME_TR31_EXP_USAGE_S1 

Asymmetric key pair, CA key

EFT_ME_TR31_EXP_USAGE_S2 

Asymmetric key pair, non-X9.24 key

EFT_ME_TR31_EXP_USAGE_V0 

PIN verification, KPV, other algorithm

EFT_ME_TR31_EXP_USAGE_V1 

PIN verification, IBM 3624

EFT_ME_TR31_EXP_USAGE_V2 

PIN Verification, VISA PVV

EFT_ME_TR31_EXP_USAGE_V3 

PIN Verification, X9.132 algorithm 1

EFT_ME_TR31_EXP_USAGE_V4 

PIN Verification, X9.132 algorithm 2

Examples
export_import_tr31.cs.

EftExportMode

enum EftExportMode: byte

TR-31 export mode identifier.

Enumerators
EFT_ME_TR31_EXP_MODE_AUTO 

Sets the usage mode identifier automatically. The following value is used EFT_ME_TR31_EXP_MODE_N.

EFT_ME_TR31_EXP_MODE_B 

Both Encryption & Decryption / Wrap & Unwrap

EFT_ME_TR31_EXP_MODE_C 

Both Generation & Verification

EFT_ME_TR31_EXP_MODE_D 

Decryption / Unwrap Only

EFT_ME_TR31_EXP_MODE_E 

Encryption / Wrap Only

EFT_ME_TR31_EXP_MODE_G 

Generation Only

EFT_ME_TR31_EXP_MODE_N 

No special restrictions (except those defined by the key usage identifier)

EFT_ME_TR31_EXP_MODE_S 

Signature Only

EFT_ME_TR31_EXP_MODE_T 

Both Signature & Decryption

EFT_ME_TR31_EXP_MODE_V 

Verification only

EFT_ME_TR31_EXP_MODE_X 

Key used to derive other key(s)

EFT_ME_TR31_EXP_MODE_Y 

Key used to create key variants

Examples
export_import_tr31.cs.

EftExportExpType

enum EftExportExpType: byte

TR-31 export type identifier.

Enumerators
EFT_ME_TR31_EXP_AUTO 

Sets the exportability identifier automatically. The following value is used EFT_ME_TR31_EXP_X9_24.

EFT_ME_TR31_EXP_X9_24 
EFT_ME_TR31_EXP_NON_EXPORTABLE 

Not exportable by the recipient of the Key Block, or storage location. Does not prevent the export of keys derived from a non-exportable key.

EFT_ME_TR31_EXP_KEK_EXPORTABLE 

Sensitive, Exportable under a KEK (Key Encryption Key) in a format not necessarily in accordance with the requirements of X9.24 Parts 1 or 2.

Examples
export_import_tr31.cs.

Builders and Destructors

DinamoClient()

DinamoClient ( )
inline

Class constructor method.