Condividi tramite


Contesti del provider di servizi di crittografia

La prima funzionecryptoAPIchiamata da un'applicazione che usa qualsiasi API crittografica è la funzione CryptAcquireContext. Questa funzione restituisce un handle a un provider di servizi di configurazione specifico che include la specifica di un determinato contenitore di chiavi all'interno del provider di servizi di configurazione. Questo contenitore di chiavi è un contenitore di chiavi richiesto specificamente oppure è il contenitore di chiavi predefinito per l'utente attualmente connesso.

CryptAcquireContext può anche creare un nuovo contenitore di chiavi. Per altre informazioni, vedere programma C di esempio : Creazione di un contenitore di chiavi e generazione di chiavi e programma C di esempio: uso di CryptAcquireContext.

Un provider di servizi di crittografia (CSP) ha sia un nome che un tipo. Ad esempio, il nome di uno dei provider di servizi di configurazione attualmente forniti con il sistema operativo è provider di crittografia di base Microsoft. Si tratta di un provider di tipi PROV_RSA_FULL. Il nome di ogni provider è univoco; il tipo di provider non è .

Quando un'applicazione chiama CryptAcquireContext per ottenere un handle CSP, specifica un tipo di provider e, facoltativamente, un nome del provider. Se vengono specificati sia un tipo che un nome, la funzione carica il provider CSP con il tipo di provider e il nome del provider corrispondenti. La funzione restituisce l'handle del provider di servizi di configurazione che fornisce l'accesso sia al provider di servizi di configurazione che a un contenitore di chiavi all'interno del provider di servizi di configurazione.

Quando un'applicazione chiama CryptAcquireContext e specifica un tipo di provider ma nessun nome di provider, la funzione cerca un provider denominato, controllando innanzitutto un elenco di provider denominati predefiniti associati all'utente connesso e, in caso di errore, da un elenco di provider denominati predefiniti associati al computer. Dopo aver determinato il nome del provider, la funzione CryptAcquireContext cerca il provider, lo carica e ne restituisce l'handle.

Al termine dell'uso di un handle CSP, rilasciarlo chiamando la funzioneCryptReleaseContext.