Compartir a través de


Contextos del proveedor de servicios criptográficos

La primera función de CryptoAPI a la que llama una aplicación que usa las API criptográficas es la funciónCryptAcquireContext. Esta función devuelve un identificador a un CSP determinado que incluye la especificación de un contenedor de claves de determinado dentro del CSP. Este contenedor de claves es un contenedor de claves solicitado específicamente o es el contenedor de claves predeterminado para el usuario que ha iniciado sesión actualmente.

CryptAcquireContext también puede crear un nuevo contenedor de claves. Para obtener más información, vea Programa C de ejemplo: Crear un contenedor de claves y generar claves y Programa C de ejemplo: Uso de CryptAcquireContext.

Un proveedor de servicios criptográficos (CSP) tiene un nombre y un tipo. Por ejemplo, el nombre de uno de los CSP que se incluye actualmente con el sistema operativo es proveedor criptográfico base de Microsoft. Es un proveedor de tipos PROV_RSA_FULL. El nombre de cada proveedor es único; el tipo de proveedor no es .

Cuando una aplicación llama a CryptAcquireContext para obtener un identificador csp, especifica un tipo de proveedor y, opcionalmente, un nombre de proveedor. Si se especifica un tipo y un nombre, la función carga el CSP con el tipo de proveedor coincidente y el nombre del proveedor. La función devuelve el identificador de CSP que proporciona acceso tanto al CSP como a un contenedor de claves de dentro del CSP.

Cuando una aplicación llama a CryptAcquireContext y especifica un tipo de proveedor pero ningún nombre de proveedor, la función busca un proveedor con nombre, primero comprueba una lista de proveedores con nombre predeterminados asociados al usuario que ha iniciado sesión y, si se produce un error, de una lista de proveedores con nombre predeterminados asociados al equipo. Una vez determinado el nombre del proveedor, la función CryptAcquireContext busca el CSP para ese proveedor, lo carga y devuelve su identificador.

Cuando haya terminado de usar un identificador de CSP, desenlaje mediante una llamada a la funcióndeCryptReleaseContext.