Função CryptInstallDefaultContext (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 CryptInstallDefaultContext instala um provedor específico para ser o provedor de contexto padrão para o algoritmo especificado.

Sintaxe

BOOL CryptInstallDefaultContext(
  [in]  HCRYPTPROV           hCryptProv,
  [in]  DWORD                dwDefaultType,
  [in]  const void           *pvDefaultPara,
  [in]  DWORD                dwFlags,
  [in]  void                 *pvReserved,
  [out] HCRYPTDEFAULTCONTEXT *phDefaultContext
);

Parâmetros

[in] hCryptProv

O identificador do provedor de serviços criptográficos a ser usado como o contexto padrão. Esse identificador é obtido usando a função CryptAcquireContext .

[in] dwDefaultType

Especifica o tipo de contexto a ser instalado. Esse deve ser um dos valores a seguir.

Valor Significado
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
Instala o provedor padrão usado para verificar um único tipo de assinatura de certificado.

O parâmetro pvDefaultPara é o endereço de uma cadeia de caracteres ANSI terminada em nulo que contém o identificador de objeto do algoritmo de assinatura de certificado para instalar o provedor para, por exemplo, szOID_OIWSEC_md5RSA. Se o parâmetro pvDefaultPara for NULL, o provedor especificado será usado para verificar todas as assinaturas de certificado. O parâmetro pvDefaultPara não pode ser NULL quando o sinalizador CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG é definido.

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
Instala o provedor padrão usado para verificar vários tipos de assinatura de certificado.

O parâmetro pvDefaultPara é o endereço de uma estrutura CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA que contém uma matriz de identificadores de objeto que identificam os algoritmos de assinatura de certificado para o qual instalar o provedor especificado.

[in] pvDefaultPara

Especifica o objeto ou os objetos para os quais instalar o provedor de contexto padrão. O formato desse parâmetro depende do conteúdo do parâmetro dwDefaultType .

[in] dwFlags

Um conjunto de sinalizadores que modificam o comportamento dessa função. Isso pode ser zero ou uma combinação de um ou mais dos valores a seguir.

Valor Significado
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
O identificador do provedor especificado pelo parâmetro hCryptProv é liberado automaticamente quando o processo ou thread termina. Se esse sinalizador não for especificado, será responsabilidade do chamador liberar o identificador do provedor usando a função CryptReleaseContext quando o identificador não for mais necessário. O identificador do provedor não será liberado se a função CryptUninstallDefaultContext for chamada antes da saída do processo ou do thread.
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
O provedor se aplica a todos os threads no processo. Se esse sinalizador não for especificado, o provedor só se aplicará ao thread de chamada. O parâmetro pvDefaultPara não pode ser NULL quando esse sinalizador é definido.

[in] pvReserved

Esse parâmetro é reservado para uso futuro.

[out] phDefaultContext

O endereço de uma variável HCRYPTDEFAULTCONTEXT que recebe o identificador de contexto padrão. Esse identificador é passado para a função CryptUninstallDefaultContext para desinstalar o provedor de contexto padrão.

Retornar valor

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.

Comentários

Os provedores de contexto padrão instalados são ordenados por pilha, portanto, ao pesquisar um provedor de contexto padrão, o sistema começa com o provedor instalado mais recentemente. A lista por thread de provedores é pesquisada antes da lista por processo de provedores. Depois que uma correspondência é encontrada, o sistema não continua a pesquisar outras correspondências.

O identificador do provedor instalado deve permanecer disponível para uso até que CryptUninstallDefaultContext seja chamado ou o thread ou o processo seja encerrado.

Requisitos

Requisito Valor
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 Crypt32.lib
DLL Crypt32.dll

Confira também

CryptUninstallDefaultContext