Función CryptSetProviderA (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 CryptSetProvider especifica el proveedor de servicios criptográficos (CSP) predeterminado del usuario actual.

Si se establece el proveedor predeterminado de un usuario actual, ese proveedor predeterminado lo adquiere cualquier llamada de ese usuario a CryptAcquireContext especificando un tipo de proveedor dwProvType , pero no un nombre de CSP.

También hay disponible una versión mejorada de esta función, CryptSetProviderEx.

Nota Las aplicaciones típicas no usan esta función. Está pensado únicamente para su uso por parte de las aplicaciones administrativas.
 

Sintaxis

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

Parámetros

[in] pszProvName

Nombre del nuevo CSP predeterminado. El CSP con nombre debe instalarse en el equipo. Para obtener una lista de proveedores criptográficos disponibles, consulte Nombres de proveedor criptográfico.

[in] dwProvType

Tipo de proveedor del CSP especificado por pszProvName.

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. Algunos códigos de error posibles se enumeran en la tabla siguiente.

Código devuelto Descripción
ERROR_INVALID_HANDLE
Uno de los parámetros especifica un identificador que no es válido.
ERROR_INVALID_PARAMETER
Uno de los parámetros contiene un valor que no es válido. Suele ser un puntero que no es válido.
ERROR_NOT_ENOUGH_MEMORY
El sistema operativo se quedó sin memoria durante la operación.
 

Los errores también se pueden propagar desde llamadas internas a RegCreateKeyEx y RegSetValueEx.

Comentarios

Las aplicaciones típicas no especifican un nombre de CSP al llamar a CryptAcquireContext; sin embargo, una aplicación tiene la opción de seleccionar un CSP específico. Esto proporciona a un usuario la libertad de seleccionar un CSP con un nivel de seguridad adecuado.

Dado que llamar a CryptSetProvider determina el CSP de un tipo especificado usado por todas las aplicaciones que se ejecutan desde ese punto, esta función no debe llamarse sin el consentimiento de los usuarios.

Nota

El encabezado wincrypt.h define CryptSetProvider como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
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 Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

CryptAcquireContext

Nombres de proveedor criptográfico

RegCreateKeyEx

RegSetValueEx

Funciones del proveedor de servicios