Função CryptSetProviderA (wincrypt.h)

Importante Essa API foi preterida. O software novo e existente deve começar a usar APIs de Criptografia de Próxima Geração. A Microsoft pode remover essa API em versões futuras.
 
A função CryptSetProvider especifica o CSP (provedor de serviço criptográfico ) padrão do usuário atual.

Se o provedor padrão de um usuário atual estiver definido, esse provedor padrão será adquirido por qualquer chamada desse usuário para CryptAcquireContext especificando um tipo de provedor dwProvType , mas não um nome CSP.

Uma versão aprimorada dessa função, CryptSetProviderEx, também está disponível.

Nota Aplicativos típicos não usam essa função. Ele destina-se a ser usado exclusivamente por aplicativos administrativos.
 

Sintaxe

BOOL CryptSetProviderA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType
);

Parâmetros

[in] pszProvName

Nome do novo CSP padrão. O CSP nomeado deve ser instalado no computador. Para obter uma lista de provedores criptográficos disponíveis, consulte Nomes de provedor criptográfico.

[in] dwProvType

Tipo de provedor do CSP especificado por pszProvName.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).

Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError. Alguns códigos de erro possíveis são listados na tabela a seguir.

Código de retorno Descrição
ERROR_INVALID_HANDLE
Um dos parâmetros especifica um identificador que não é válido.
ERROR_INVALID_PARAMETER
Um dos parâmetros contém um valor que não é válido. Isso geralmente é um ponteiro que não é válido.
ERROR_NOT_ENOUGH_MEMORY
O sistema operacional ficou sem memória durante a operação.
 

Erros também podem ser propagados de chamadas internas para RegCreateKeyEx e RegSetValueEx.

Comentários

Aplicativos típicos não especificam um nome CSP ao chamar CryptAcquireContext; no entanto, um aplicativo tem a opção de selecionar um CSP específico. Isso dá a um usuário a liberdade de selecionar um CSP com um nível apropriado de segurança.

Como chamar CryptSetProvider determina o CSP de um tipo especificado usado por todos os aplicativos executados a partir desse ponto, essa função não deve ser chamada sem o consentimento dos usuários.

Observação

O cabeçalho wincrypt.h define CryptSetProvider como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Cryptacquirecontext

Nomes de provedor criptográfico

RegCreateKeyEx

Regsetvalueex

Funções do Provedor de Serviços