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