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
Autorité de certification
Certificats d’autorité de certification .
MY
Un magasin de certificats qui contient des certificats avec des clés privées associées.
RACINE
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.

Note Les 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 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

Voir aussi

CertAddEncodedCertificateToStore

CertCloseStore

CertGetCRLContextProperty

CertOpenStore

CertSaveStore

Fonctions du magasin de certificats