A Microsoft CryptoAPI é uma biblioteca de funções criptográficas disponível nas plataformas Microsoft Windows. Esta biblioteca não implementa os algoritmos diretamente, deixando esta tarefa a cargo de componentes chamados Cryptographic Service Providers (CSPs) que são extensões (DLL) desenvolvidas tanto pela própria Microsoft quanto por terceiros.
A CryptoAPI é a biblioteca recomendada de criptografia a ser usada em aplicações desenvolvidas para a plataforma Windows. Aplicações como MS Outlook e Exchange utilizam esta biblioteca.
O HSM Dinamo, além de sua API nativa, fornece uma CSP compatível com a CryptoAPI de forma que soluções já existentes podem ser facilmente integradas com o HSM local ou os serviços em nuvem.
A CSP é construída em torno da biblioteca nativa do Dinamo e suporta todos os algoritmos disponíveis no HSM.
Afinidade Sessão-Thread
As sessões do HSM possuem afinidade sessão-thread. O que significa que a mesma sessão não pode ser utilizada em várias threads ao mesmo tempo.
Provedor CSP
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