Pular para o conteúdo principal

Armazenamento de chaves via CAPI

observação

Os repositórios de chaves CAPI só são compatíveis com instalações em Windows Server.

A Windows CryptoAPI (CAPI) trabalha com diversos Cryptographic Service Providers (CSPs), que fazem de fato o trabalho de fornecer vários "serviços criptográficos", como o armazenamento de chaves. Dispositivos como HSMs (Hardware Security Modules) e tokens criptográficos USB normalmente fornecem um CSP CAPI que pode ser usado para se comunicar com o dispositivo.

Cada CSP CAPI é identificado pelo seu nome e pelo seu tipo. Se estiver usando um HSM ou um token criptográfico, consulte a documentação do dispositivo para encontrar o nome e o tipo do CSP.

Para configurar um repositório de chaves CAPI no Amplia, use as seguintes configurações:

  • Type: CAPI
  • ProviderName: nome do CSP
  • ProviderType: tipo do CSP. Os valores válidos são:
    • PROV_RSA_FULL
    • PROV_RSA_SIG
    • PROV_DSS
    • PROV_FORTEZZA
    • PROV_MS_EXCHANGE
    • PROV_SSL
    • PROV_RSA_SCHANNEL
    • PROV_DSS_DH
    • PROV_EC_ECDSA_SIG
    • PROV_EC_ECNRA_SIG
    • PROV_EC_ECDSA_FULL
    • PROV_EC_ECNRA_FULL
    • PROV_DH_SCHANNEL
    • PROV_SPYRUS_LYNKS
    • PROV_RNG
    • PROV_INTEL_SEC
    • PROV_REPLACE_OWF
    • PROV_RSA_AES
  • ExportableKeys: por padrão, as chaves são geradas marcadas como exportáveis. Para gerar chaves não exportáveis, defina esta configuração como false.
  • UseMachineStore: alguns CSPs têm o conceito de armazenar as chaves no repositório do usuário (user store) ou no repositório da máquina (machine store) — o principal exemplo é o CSP nativo do Windows. Por padrão, é usado o repositório do usuário. Defina esta configuração como true para usar o repositório da máquina.
  • Pin: o PIN do repositório, se necessário

Exemplo (arquivo de configuração .ini ou .conf):

[KeyStores:MyCapiKeyStore]
Type=Capi
ProviderName=...
ProviderType=PROV_RSA_FULL

Exemplo (variáveis de ambiente):

KeyStores__MyCapiKeyStore__Type=Capi
KeyStores__MyCapiKeyStore__ProviderName=...
KeyStores__MyCapiKeyStore__ProviderType=PROV_RSA_FULL

Exemplo (arquivo de configuração .json):

"KeyStores": {
...,
"MyCapiKeyStore": {
"Type": "Capi",
"ProviderName": "...",
"ProviderType": "PROV_RSA_FULL"
},
...
}
dica

Se a documentação do HSM não deixar claro qual é o tipo do CSP, tente usar PROV_RSA_FULL ou PROV_RSA_AES.

Repositórios de chaves CAPI comuns​

Token criptográfico USB Safenet eToken:

"CapiToken": {
"Type": "Capi",
"ProviderName": "eToken Base Cryptographic Provider",
"ProviderType": "PROV_RSA_FULL",
"Pin": "XXXX"
}

Veja também​

Ver em Markdown