Funzione CryptInstallDefaultContext (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
 
La funzione CryptInstallDefaultContext installa un provider specifico per essere il provider di contesto predefinito per l'algoritmo specificato.

Sintassi

BOOL CryptInstallDefaultContext(
  [in]  HCRYPTPROV           hCryptProv,
  [in]  DWORD                dwDefaultType,
  [in]  const void           *pvDefaultPara,
  [in]  DWORD                dwFlags,
  [in]  void                 *pvReserved,
  [out] HCRYPTDEFAULTCONTEXT *phDefaultContext
);

Parametri

[in] hCryptProv

Handle del provider di servizi di crittografia da usare come contesto predefinito. Questo handle viene ottenuto usando la funzione CryptAcquireContext .

[in] dwDefaultType

Specifica il tipo di contesto da installare. Questo deve essere uno dei valori seguenti.

Valore Significato
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
Installa il provider predefinito usato per verificare un singolo tipo di firma del certificato.

Il parametro pvDefaultPara è l'indirizzo di una stringa ANSI con terminazione null contenente l'identificatore dell'oggetto dell'algoritmo di firma del certificato per installare il provider per, ad esempio, szOID_OIWSEC_md5RSA. Se il parametro pvDefaultPara è NULL, il provider specificato viene usato per verificare tutte le firme del certificato. Il parametro pvDefaultPara non può essere NULL quando viene impostato il flag di CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG .

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
Installa il provider predefinito usato per verificare più tipi di firma del certificato.

Il parametro pvDefaultPara è l'indirizzo di una struttura CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA che contiene una matrice di identificatori di oggetto che identificano gli algoritmi di firma del certificato per installare il provider specificato.

[in] pvDefaultPara

Specifica l'oggetto o gli oggetti per installare il provider di contesto predefinito per. Il formato di questo parametro dipende dal contenuto del parametro dwDefaultType .

[in] dwFlags

Set di flag che modificano il comportamento di questa funzione. Questo può essere zero o una combinazione di uno o più dei valori seguenti.

Valore Significato
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
L'handle del provider specificato dal parametro hCryptProv viene rilasciato automaticamente al termine del processo o del thread. Se questo flag non è specificato, è responsabilità del chiamante rilasciare l'handle del provider usando la funzione CryptReleaseContext quando l'handle non è più necessario. L'handle del provider non viene rilasciato se la funzione CryptUninstallDefaultContext viene chiamata prima dell'uscita del processo o del thread.
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
Il provider si applica a tutti i thread nel processo. Se questo flag non è specificato, il provider si applica solo al thread chiamante. Il parametro pvDefaultPara non può essere NULL quando questo flag è impostato.

[in] pvReserved

Questo parametro è riservato per usi futuri.

[out] phDefaultContext

Indirizzo di una variabile HCRYPTDEFAULTCONTEXT che riceve l'handle di contesto predefinito. Questo handle viene passato alla funzione CryptUninstallDefaultContext per disinstallare il provider di contesto predefinito.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE). Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.

Commenti

I provider di contesto predefiniti installati sono ordinati, quindi quando si cerca un provider di contesto predefinito, il sistema inizia con il provider installato più di recente. L'elenco per thread dei provider viene eseguito la ricerca prima dell'elenco per processo dei provider. Dopo aver trovato una corrispondenza, il sistema non continua a cercare altre corrispondenze.

L'handle del provider installato deve rimanere disponibile per l'uso fino a quando non viene chiamato CryptUninstallDefaultContext oppure il thread o il processo viene chiuso.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CryptUninstallDefaultContext