Contextos do provedor de serviços criptográficos
A primeira função CryptoAPI chamada por um aplicativo que usa qualquer APIs criptográficas é a função CryptAcquireContext . Essa função retorna um identificador para um CSP específico que inclui a especificação de um contêiner de chave específico dentro do CSP. Esse contêiner de chaves é um contêiner de chave solicitado especificamente ou é o contêiner de chave padrão para o usuário conectado no momento.
CryptAcquireContext também pode criar um novo contêiner de chave. Para obter mais informações, consulte Exemplo de Programa C: Criando um contêiner de chaves e gerando chaves e exemplo de programa C: usando CryptAcquireContext.
Um CSP (provedor de serviços criptográficos ) tem um nome e um tipo. Por exemplo, o nome de um dos CSPs fornecidos atualmente com o sistema operacional é Microsoft Base Cryptographic Provider. É um provedor de tipo PROV_RSA_FULL . O nome de cada provedor é exclusivo; o tipo de provedor não é.
Quando um aplicativo chama CryptAcquireContext para obter um identificador CSP, ele especifica um tipo de provedor e, opcionalmente, um nome de provedor. Se um tipo e um nome forem especificados, a função carregará o CSP com o tipo de provedor correspondente e o nome do provedor. A função retorna o identificador do CSP que fornece acesso ao CSP e a um contêiner de chaves dentro do CSP.
Quando um aplicativo chama CryptAcquireContext e especifica um tipo de provedor, mas nenhum nome de provedor, a função procura um provedor nomeado, primeiro verificando uma lista de provedores nomeados padrão associados ao usuário conectado e, se isso falhar, de uma lista de provedores nomeados padrão associados ao computador. Depois que o nome do provedor for determinado, a função CryptAcquireContext pesquisa o CSP para esse provedor, carrega-o e retorna seu identificador.
Quando terminar de usar um identificador CSP, libere-o chamando a função CryptReleaseContext .