Partager via


Fonction CertOpenSystemStoreW (wincrypt.h)

La fonction CertOpenSystemStore est une fonction simplifiée qui ouvre le système le plus courant magasin de certificats. Pour ouvrir des magasins de certificats avec des exigences plus complexes, telles que des magasins basés sur des fichiers ou basés sur la mémoire, utilisez CertOpenStore.

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
d’autorité de certification
autorités de certification certificats.
MON
Magasin de certificats qui contient des certificats avec des clés privées associées.
ROOT
certificats racines.
SPC
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.

Remarque Erreurs de la fonction appelée CertOpenStore sont propagées à cette fonction.
 

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

Voir aussi

CertAddEncodedCertificateToStore

CertCloseStore

CertGetCRLContextProperty

CertOpenStore

CertSaveStore

fonctions de magasin de certificats