CSP (Microsoft Crypto API)
O padrão/protocolo Microsoft CryptoAPI é amplamente utilizado por aplicações que utilizam operações criptográficas com chaves não exportáveis, o protocolo define uma especificação padronizada para interação com hardwares criptográficos (Smartcards, Tokens e HSMs) o suporte é oferecido pela maioria dos fabricantes de hardware no segmento, no cenário do uso de certificado em nuvem é utilizado principalmente para autenticação, listagem de objetos e assinatura. O driver fornecido pela plataforma é utilizado integrando recursos diretamente do repositório de certificados disponível no Microsoft Windows.
A MSCAPI é uma biblioteca nativa nas plataformas Microsoft Windows que oferece compatibilidade com as melhores bibliotecas de criptografia para windows, possibilitando uma integração rápida e garantindo uma interoperabilidade na solução que está sendo integrada.
Também já funciona para uso final em aplicações que já utilizam certificados do tipo A3. Como o protocolo também faz parte dos requisitos técnicos no processo de homologação de hardwares (tokens/smartcards) no âmbito da ICP Brasil (DOC-ICP-10.05 2.1-b) muitas aplicações já suportam o uso em sua versão nativa, não demandando nenhuma integração adicional para a utilização do certificado em nuvem.
Instalação
Windows:
Linux:
Mac OSx:
Binários
Windows:
Linux:
Mac OSx:
Funções disponíveis
Status classification
Type | Description |
OK | Feature implemented |
QUEUE | Implementation queue |
x | Will not be implemented |
Service Provider Functions
Applications use the following service functions to connect and disconnect a cryptographic service provider (CSP).
Status | Category | Description |
OK | CryptAcquireContext | Acquires a handle to the current user's key container within a particular CSP. |
OK | CryptReleaseContext | Releases the handle acquired by the CryptAcquireContext function. |
x | CryptGenKey | Creates a random key. |
x | CryptDeriveKey | Creates a key derived from a password. |
OK | CryptGetUserKey | Gets a handle to the key exchange or signature key. |
OK | CryptDestroyKey | Destroys a key. |
OK | CryptSetKeyParam | Specifies a key's parameters. |
OK | CryptGetKeyParam | Retrieves a key's parameters. |
x | CryptSetProvParam | Specifies attributes of a CSP. |
OK | CryptGetProvParam | Retrieves the parameters that govern the operations of a CSP. |
OK | CryptSetHashParam | Sets a hash object parameter. |
OK | CryptGetHashParam | Retrieves a hash object parameter. |
QUEUE | CryptExportKey | Transfers a key from the CSP into a key BLOB in the application's memory space. |
x | CryptImportKey | Transfers a key from a key BLOB to a CSP. |
Data Encryption and Decryption Functions
Status | Category | Description |
x | CryptEncrypt | Encrypts a section of plaintext by using the specified encryption key. |
x | CryptDecrypt | Decrypts a section of ciphertext by using the specified encryption key. |
Hash and Digital Signature Functions
Status | Category | Description |
OK | CryptCreateHash | Creates an empty hash object. |
OK | CryptHashData | Hashes a block of data, adding it to the specified hash object. |
x | CryptHashSessionKey | Hashes a session key, adding it to the specified hash object. |
OK | CryptSignHash | Signs the specified hash object. |
x | CryptVerifySignature | Verifies a digital signature, given a handle to the hash object. |
OK | CryptDestroyHash | Destroys a hash object. |
x | CryptGenRandom | Generates random data. |
OK | CryptDuplicateHash | Duplicates a hash object. |
x | CryptDuplicateKey | Makes an exact copy of a key, including the state of the key. |
Last updated