Gestion des certificats avec des magasins de certificats
Sur une période donnée, les certificats s’accumulent sur l’ordinateur d’un utilisateur. Les outils sont requis pour gérer ces certificats. CryptoAPI fournit ces outils comme fonctions pour stocker, récupérer, supprimer, répertorier (énumérer) et vérifier des certificats. CryptoAPI offre également la possibilité de joindre des certificats aux messages.
CryptoAPI offre deux catégories principales de fonctions pour la gestion des certificats : les fonctions qui gèrent les magasins de certificatset les fonctions qui fonctionnent avec les certificats, les listes de révocation de certificats (CRL) et les listes de certificats de confiance (CTL) au sein de ces banques.
Les fonctions qui gèrent les magasins de certificats incluent des fonctions permettant de travailler avec des magasins logiques ou virtuels, des magasins distants, des magasins externeset des magasins qui peuvent être déplacés.
Les certificats, les listes de révocationde certificats et les listes CTL peuvent être conservés et gérés dans les magasins de certificats. Ils peuvent être récupérés à partir d’un magasin dans lequel ils ont été rendus persistants pour une utilisation dans les processus d’authentification.
Le magasin de certificats est central pour toutes les fonctionnalités de certificat. Les certificats sont gérés dans le magasin à l’aide de fonctions avec un préfixe « CERT ». Un magasin de certificats standard est une liste liée de certificats , comme indiqué dans l’illustration suivante.

L’illustration précédente présente :
- Chaque magasin de certificats a un pointeur vers le premier bloc de certificat de ce magasin.
- Un bloc de certificat comprend un pointeur vers les données de ce certificat et un pointeur « suivant » vers le bloc de certificat suivant dans le magasin.
- Le pointeur « suivant » dans le dernier bloc de certificat est défini sur null.
- Le bloc de données d’un certificat contient le contexte de certificat en lecture seule et toutes les propriétés étendues du certificat.
- Le bloc de données de chaque certificat contient un nombre de références qui effectue le suivi du nombre de pointeurs vers le certificat qui existe.
Les certificats dans un magasin de certificats sont normalement conservés dans un certain type de stockage permanent, tel qu’un fichier de disque ou le registre système. Les magasins de certificats peuvent également être créés et ouverts strictement en mémoire. Un magasin de mémoire fournit un stockage de certificats temporaire pour l’utilisation de certificats qui n’ont pas besoin d’être conservés.
Les emplacements de magasin supplémentaires permettent de conserver et de rechercher des magasins dans différentes parties du registre d’un ordinateur local ou, avec les autorisations appropriées définies, dans le registre d’un ordinateur distant.
Chaque utilisateur a un mon magasin personnel dans lequel les certificats de cet utilisateur sont stockés. Mon magasin peut se trouver dans n’importe quel autre emplacement physique, y compris le registre sur un ordinateur local ou distant, un fichier disque, une base de données, un service d’annuaire, une carte à puceou un autre emplacement. Si un certificat peut être stocké dans le magasin My, ce magasin doit être réservé pour les certificats personnels d’un utilisateur : les certificats utilisés pour signer et déchiffrer les messages de cet utilisateur.
L’utilisation de certificats pour l’authentification dépend de l’émission de certificats émis par un émetteur de certificat approuvé. Les certificats pour les émetteurs de certificats approuvés sont généralement conservés dans le magasin racine, qui est actuellement conservé dans une sous-clé de registre. Dans le contexte CryptoAPI, le magasin racine est protégé et les boîtes de dialogue de l’interface utilisateur rappellent à l’utilisateur de placer uniquement les certificats approuvés dans ce magasin. Dans les situations de réseau d’entreprise, les certificats peuvent être envoyés (copiés) par un administrateur système à partir de l’ordinateur contrôleur de domaine vers les magasins racine sur les ordinateurs clients. Ce processus fournit à tous les membres d’un domaine des listes de confiance similaires.
D’autres certificats peuvent être stockés dans le magasin système de l' autorité de certification ou dans des magasins de fichiers créés par l’utilisateur.
Pour obtenir la liste des fonctions permettant d’utiliser et de gérer des magasins de certificats, consultez fonctions du magasin de certificats.
Pour obtenir un exemple d’utilisation de certaines de ces fonctions, consultez exemple de programme C : opérations du magasin de certificats.