CertOpenSystemStoreA, fonction (wincrypt.h)
La fonction CertOpenSystemStore est une fonction simplifiée qui ouvre le magasin de certificats système le plus courant. Pour ouvrir des magasins de certificats avec des exigences plus complexes, telles que des magasins basés sur des fichiers ou sur la mémoire, utilisez CertOpenStore.
Syntaxe
HCERTSTORE CertOpenSystemStoreA(
[in] HCRYPTPROV_LEGACY hProv,
[in] LPCSTR 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 : 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 système existant, un nouveau magasin système est créé et utilisé. CertEnumSystemStore peut ê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 |
---|---|
|
Certificats d’autorité de certification . |
|
Un 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 le 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 utilisation, le magasin doit être fermé à l’aide de CertCloseStore.
Pour plus d’informations sur les magasins qui sont automatiquement migrés, 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);
}
Notes
L’en-tête wincrypt.h définit CertOpenSystemStore en tant qu’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. La combinaison 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.
Spécifications
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 |