Fonction CertOpenSystemStoreW (wincrypt.h)
La fonction CertOpenSystemStore
Syntaxe
HCERTSTORE CertOpenSystemStoreW(
[in] HCRYPTPROV_LEGACY hProv,
[in] LPCWSTR szSubsystemProtocol
);
Paramètres
[in] hProv
Ce paramètre n’est pas utilisé et doit être défini sur 0.
Windows Server 2003 et Windows XP : Un handle d’un fournisseur de services de chiffrement (CSP). Définissez hProv sur 0 pour utiliser le fournisseur de solutions cloud par défaut. Si hProv n’est pas 0, il doit s’agir d’un handle CSP créé à l’aide de la fonction CryptAcquireContext. Le type de données de ce paramètre est HCRYPTPROV.
[in] szSubsystemProtocol
Chaîne qui nomme un magasin système. Si le nom du magasin système fourni dans ce paramètre n’est pas le nom d’un magasin de systèmes existant, un nouveau magasin système est créé et utilisé. CertEnumSystemStore pouvez être utilisé pour répertorier les noms des magasins système existants. Certains exemples de magasins système sont répertoriés dans le tableau suivant.
Valeur | Signification |
---|---|
|
autorités de certification certificats. |
|
Magasin de certificats qui contient des certificats avec des clés privées associées. |
|
certificats racines. |
|
certificat d’éditeur de logiciel. |
Valeur de retour
Si la fonction réussit, la fonction retourne un handle au magasin de certificats.
Si la fonction échoue, elle retourne NULL . Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
Seuls les certificats utilisateur actuels sont accessibles à l’aide de cette méthode, et non du magasin d’ordinateurs local.
Une fois le magasin système ouvert, toutes les fonctions de magasin de certificats standard peuvent être utilisées pour manipuler les certificats.
Après l’utilisation, le magasin doit être fermé à l’aide de CertCloseStore.
Pour plus d’informations sur les magasins qui sont migrés automatiquement, consultez migration du magasin de certificats.
Exemples
L’exemple suivant montre une méthode simplifiée pour ouvrir les magasins de certificats système les plus courants. Pour obtenir un autre exemple qui utilise cette fonction, consultez Exemple de programme C : Opérations de magasin de certificats.
//--------------------------------------------------------------------
// Declare and initialize variables.
HCERTSTORE hSystemStore; // system store handle
//--------------------------------------------------------------------
// Open the CA system certificate store. The same call can be
// used with the name of a different system store, such as My or Root,
// as the second parameter.
if(hSystemStore = CertOpenSystemStore(
0,
"CA"))
{
printf("The CA system store is open. Continue.\n");
}
else
{
printf("The CA system store did not open.\n");
exit(1);
}
// Use the store as needed.
// ...
// When done using the store, close it.
if(!CertCloseStore(hSystemStore, 0))
{
printf("Unable to close the CA system store.\n");
exit(1);
}
Note
L’en-tête wincrypt.h définit CertOpenSystemStore comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |
bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |