Fonction CryptInstallDefaultContext (wincrypt.h)

Important Cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser les API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptInstallDefaultContext installe un fournisseur spécifique pour être le fournisseur de contexte par défaut pour l’algorithme spécifié.

Syntaxe

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

Paramètres

[in] hCryptProv

Handle du fournisseur de services de chiffrement à utiliser comme contexte par défaut. Ce handle est obtenu à l’aide de la fonction CryptAcquireContext .

[in] dwDefaultType

Spécifie le type de contexte à installer. Il doit s’agir de l’une des valeurs suivantes.

Valeur Signification
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
Installe le fournisseur par défaut utilisé pour vérifier un type de signature de certificat unique.

Le paramètre pvDefaultPara est l’adresse d’une chaîne ANSI terminée par null qui contient l’identificateur d’objet de l’algorithme de signature de certificat pour installer le fournisseur pour, par exemple, szOID_OIWSEC_md5RSA. Si le paramètre pvDefaultPara a la valeur NULL, le fournisseur spécifié est utilisé pour vérifier toutes les signatures de certificat. Le paramètre pvDefaultPara ne peut pas être NULL lorsque l’indicateur CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG est défini.

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
Installe le fournisseur par défaut utilisé pour vérifier plusieurs types de signature de certificat.

Le paramètre pvDefaultPara est l’adresse d’une structure de CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA qui contient un tableau d’identificateurs d’objet qui identifient les algorithmes de signature de certificat pour 2000 pour 1000.

[in] pvDefaultPara

Spécifie l’objet pour lequel installer le fournisseur de contexte par défaut. Le format de ce paramètre dépend du contenu du paramètre dwDefaultType .

[in] dwFlags

Ensemble d’indicateurs qui modifient le comportement de cette fonction. Il peut s’agir de zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes.

Valeur Signification
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
Le handle de fournisseur spécifié par le paramètre hCryptProv est automatiquement libéré lorsque le processus ou le thread se termine. Si cet indicateur n’est pas spécifié, il incombe à l’appelant de libérer le handle du fournisseur à l’aide de la fonction CryptReleaseContext lorsque le handle n’est plus nécessaire. Le handle du fournisseur n’est pas libéré si la fonction CryptUninstallDefaultContext est appelée avant la fermeture du processus ou du thread.
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
Le fournisseur s’applique à tous les threads du processus. Si cet indicateur n’est pas spécifié, le fournisseur s’applique uniquement au thread appelant. Le paramètre pvDefaultPara ne peut pas être NULL lorsque cet indicateur est défini.

[in] pvReserved

Ce paramètre est réservé à un usage futur.

[out] phDefaultContext

Adresse d’une variable HCRYPTDEFAULTCONTEXT qui reçoit le handle de contexte par défaut. Ce handle est passé à la fonction CryptUninstallDefaultContext pour désinstaller le fournisseur de contexte par défaut.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE). Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Les fournisseurs de contexte par défaut installés sont classés par pile. Par conséquent, lors de la recherche d’un fournisseur de contexte par défaut, le système commence par le fournisseur le plus récemment installé. La liste des fournisseurs par thread est recherchée avant la liste des fournisseurs par processus. Une fois qu’une correspondance est trouvée, le système ne continue pas à rechercher d’autres correspondances.

Le handle du fournisseur installé doit rester disponible jusqu’à ce que CryptUninstallDefaultContext soit appelé ou que le thread ou le processus se termine.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptUninstallDefaultContext