Contextos del proveedor de servicios criptográficos

La primera función CryptoAPI llamada por una aplicación que usa cualquier API criptográfica es la función CryptAcquireContext . Esta función devuelve un identificador a un CSP determinado que incluye la especificación de un contenedor de claves 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: Creación de un contenedor de claves y generación de 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 de 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 del CSP que proporciona acceso tanto al CSP como a un contenedor de claves 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, suelte mediante una llamada a la función CryptReleaseContext .