Integration via CSP/CNG
Microsoft CryptoAPI is a library of cryptographic functions available on Microsoft Windows platforms. This library does not implement the algorithms directly, leaving this task to components called Cryptographic Service Providers (CSPs), which are extensions (DLL) developed both by Microsoft itself and by third parties.
CryptoAPI is the recommended encryption library to be used in applications developed for the Windows platform. Applications such as MS Outlook and Exchange use this library.
HSM Dinamo, in addition to its native API, provides a CSP compatible with CryptoAPI so that existing solutions can be easily integrated with on-premise HSM or cloud services.
The CSP is built around the native Dinamo library and supports all the algorithms available in the HSM.
Attention: Session-Thread Affinity
HSM sessions have session-thread affinity. This means that the same session cannot be used by several threads at the same time.
CSP provider
Nome do provedor: Dinamo HSM Cryptographic Provider
Tipo de provedor: 1 - PROV_RSA_FULL
MD5 (MD5)
dwDefaultLen=128 dwMinLen=128 dwMaxLen=128
CALG_MD5
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0x3(3) ALG_SID_MD5
SHA-1 (SHA-1)
dwDefaultLen=160 dwMinLen=160 dwMaxLen=160
CALG_SHA1
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0x4(4) ALG_SID_SHA1
SHA-256 (SHA-256)
dwDefaultLen=256 dwMinLen=256 dwMaxLen=256
CALG_SHA_256
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0xc(12) ALG_SID_SHA_256
SHA-384 (SHA-384)
dwDefaultLen=384 dwMinLen=384 dwMaxLen=384
CALG_SHA_384
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0xd(13) ALG_SID_SHA_384
SHA-512 (SHA-512)
dwDefaultLen=512 dwMinLen=512 dwMaxLen=512
CALG_SHA_512
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0xe(14) ALG_SID_SHA_512
SSL3 SHAMD5 (SSL3 SHAMD5)
dwDefaultLen=288 dwMinLen=288 dwMaxLen=288
CALG_SSL3_SHAMD5
Classe de algoritmo: 0x8000(4) ALG_CLASS_HASH
Tipo de algoritmo: 0x0(0) ALG_TYPE_ANY
Sub-ideitificação de algoritmo: 0x8(8) ALG_SID_SSL3SHAMD5
RSA SIGN (RSA SIGN)
dwDefaultLen=1024 dwMinLen=512 dwMaxLen=4096
CALG_RSA_SIGN
Classe de algoritmo: 0x2000(1) ALG_CLASS_SIGNATURE
Tipo de algoritmo: 0x400(2) ALG_TYPE_RSA
Sub-ideitificação de algoritmo: 0x0(0) ALG_SID_RSA_ANY
RSA KEYX (RSA KEYX)
dwDefaultLen=1024 dwMinLen=512 dwMaxLen=4096
CALG_RSA_KEYX
Classe de algoritmo: 0xa000(5) ALG_CLASS_KEY_EXCHANGE
Tipo de algoritmo: 0x400(2) ALG_TYPE_RSA
Sub-ideitificação de algoritmo: 0x0(0) ALG_SID_RSA_ANY
DES (DES)
dwDefaultLen=56 dwMinLen=56 dwMaxLen=56
CALG_DES
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0x1(1) ALG_SID_DES
3DES-EDE (3DES-EDE)
dwDefaultLen=112 dwMinLen=112 dwMaxLen=112
CALG_3DES_112
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0x9(9) ALG_SID_3DES_112
3DES-EDE (3DES-EDE)
dwDefaultLen=168 dwMinLen=168 dwMaxLen=168
CALG_3DES
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0x3(3) ALG_SID_3DES
CALG_RC4 (CALG_RC4)
dwDefaultLen=128 dwMinLen=128 dwMaxLen=128
CALG_RC4
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x800(4) ALG_TYPE_STREAM
Sub-ideitificação de algoritmo: 0x1(1) ALG_SID_RC4
AES-128 (AES-128)
dwDefaultLen=128 dwMinLen=128 dwMaxLen=128
CALG_AES_128
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0xe(14) ALG_SID_AES_128
AES-192 (AES-192)
dwDefaultLen=192 dwMinLen=192 dwMaxLen=192
CALG_AES_192
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0xf(15) ALG_SID_AES_192
AES-256 (AES-256)
dwDefaultLen=256 dwMinLen=256 dwMaxLen=256
CALG_AES_256
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0x10(16) ALG_SID_AES_256
CALG_RC2 (CALG_RC2)
dwDefaultLen=112 dwMinLen=112 dwMaxLen=112
CALG_RC2
Classe de algoritmo: 0x6000(3) ALG_CLASS_DATA_ENCRYPT
Tipo de algoritmo: 0x600(3) ALG_TYPE_BLOCK
Sub-ideitificação de algoritmo: 0x2(2) ALG_SID_RC2
CNG provider
Nome do provedor: Dinamo HSM Cryptographic Provider
Módulo de Provedor:
UM(1): tacndcsp.dll
0(1): 10001, 1
0: KEY_STORAGE
Algoritmos de Criptografia Assimétrica:
RSA
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION -- 4
NCRYPT_SIGNATURE_OPERATION -- 10 (16)
Algoritmos de Assinaturas:
RSA
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION -- 4
NCRYPT_SIGNATURE_OPERATION -- 10 (16)
Algoritmos Assimétricos:
RSA
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION -- 4
NCRYPT_SIGNATURE_OPERATION -- 10 (16)
NCryptCreatePersistedKey(Dinamo HSM Cryptographic Provider, RSA)
Name:
Algorithm Group: RSA
Algorithm Name: RSA
Length: 2048 (0x800)
Lengths:
dwMinLength = 512 (0x200)
dwMaxLength = 8192 (0x2000)
dwIncrement = 64 (0x40)
dwDefaultLength = 2048 (0x800)
Export Policy: 0 (0x0)
(NCRYPT_ALLOW_EXPORT_FLAG -- 1)
(NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG -- 2)
(NCRYPT_ALLOW_ARCHIVING_FLAG -- 4)
(NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG -- 8)
Impl Type: 9 (0x9)
NCRYPT_IMPL_HARDWARE_FLAG -- 1
(NCRYPT_IMPL_SOFTWARE_FLAG -- 2)
NCRYPT_IMPL_REMOVABLE_FLAG -- 8
(NCRYPT_IMPL_HARDWARE_RNG_FLAG -- 10 (16))
Key Usage: 16777215 (0xffffff)
NCRYPT_ALLOW_DECRYPT_FLAG -- 1
NCRYPT_ALLOW_SIGNING_FLAG -- 2
NCRYPT_ALLOW_KEY_AGREEMENT_FLAG -- 4
NCRYPT_ALLOW_KEY_IMPORT_FLAG -- 8
NCRYPT_ALLOW_ALL_USAGES -- ffffff (16777215)
Security Descr: D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;S-1-5-21-414208720-3607778739-1988866334-1002)(A;ID;FA;;;S-1-5-21-414208720-3607778739-1988866334-1010)
APROVADO
Todos os Algoritmos:
RSA
NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION -- 4
NCRYPT_SIGNATURE_OPERATION -- 10 (16)