Función CryptInstallDefaultContext (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptInstallDefaultContext instala un proveedor específico para que sea el proveedor de contexto predeterminado para el algoritmo especificado.

Sintaxis

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

Identificador del proveedor de servicios criptográficos que se va a usar como contexto predeterminado. Este identificador se obtiene mediante la función CryptAcquireContext .

[in] dwDefaultType

Especifica el tipo de contexto que se va a instalar. Debe ser uno de los valores siguientes.

Valor Significado
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
Instala el proveedor predeterminado que se usa para comprobar un único tipo de firma de certificado.

El parámetro pvDefaultPara es la dirección de una cadena ANSI terminada en null que contiene el identificador de objeto del algoritmo de firma de certificado para instalar el proveedor, por ejemplo, szOID_OIWSEC_md5RSA. Si el parámetro pvDefaultPara es NULL, el proveedor especificado se usa para comprobar todas las firmas de certificado. El parámetro pvDefaultPara no puede ser NULL cuando se establece la marca CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG .

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
Instala el proveedor predeterminado que se usa para comprobar varios tipos de firma de certificado.

El parámetro pvDefaultPara es la dirección de una estructura de CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA que contiene una matriz de identificadores de objeto que identifican los algoritmos de firma de certificado para los que instalar el proveedor especificado.

[in] pvDefaultPara

Especifica el objeto u objetos para los que se va a instalar el proveedor de contexto predeterminado. El formato de este parámetro depende del contenido del parámetro dwDefaultType .

[in] dwFlags

Conjunto de marcas que modifican el comportamiento de esta función. Puede ser cero o una combinación de uno o varios de los valores siguientes.

Valor Significado
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
El identificador del proveedor especificado por el parámetro hCryptProv se libera automáticamente cuando finaliza el proceso o el subproceso. Si no se especifica esta marca, es responsabilidad del autor de la llamada liberar el identificador del proveedor mediante la función CryptReleaseContext cuando el identificador ya no es necesario. El identificador del proveedor no se libera si se llama a la función CryptUninstallDefaultContext antes de que se cierre el proceso o el subproceso.
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
El proveedor se aplica a todos los subprocesos del proceso. Si no se especifica esta marca, el proveedor solo se aplica al subproceso que realiza la llamada. El parámetro pvDefaultPara no puede ser NULL cuando se establece esta marca.

[in] pvReserved

Este parámetro se reserva para uso futuro.

[out] phDefaultContext

Dirección de una variable HCRYPTDEFAULTCONTEXT que recibe el identificador de contexto predeterminado. Este identificador se pasa a la función CryptUninstallDefaultContext para desinstalar el proveedor de contexto predeterminado.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE). Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Comentarios

Los proveedores de contexto predeterminados instalados se ordenan a la pila, por lo que al buscar un proveedor de contexto predeterminado, el sistema comienza con el proveedor instalado más recientemente. Se busca en la lista por subproceso de proveedores antes de la lista por proceso de proveedores. Una vez encontrada una coincidencia, el sistema no continúa buscando otras coincidencias.

El identificador de proveedor instalado debe permanecer disponible para su uso hasta que se llame a CryptUninstallDefaultContext o se cierre el subproceso o el proceso .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptUninstallDefaultContext