Gestion des certificats avec des magasins de certificats
Au fil du temps, les certificats s’accumulent sur l’ordinateur d’un utilisateur. Des outils sont nécessaires pour gérer ces certificats. CryptoAPI fournit ces outils en tant que fonctions de stockage, de récupération, de suppression, de liste (énumération) et de vérification des certificats. CryptoAPI fournit également les moyens d’attacher des certificats aux messages.
CryptoAPI offre deux catégories main de fonctions pour la gestion des certificats : les fonctions qui gèrent les magasins de certificats et les fonctions qui fonctionnent avec les certificats, les listes de révocation de certificats (CRL) et les listes d’approbation de certificats (CTL) au sein de ces magasins.
Les fonctions qui gèrent les magasins de certificats incluent des fonctions permettant d’utiliser des magasins logiques ou virtuels, des magasins distants, des magasins externes et des magasins qui peuvent être déplacés.
Les certificats, listes de révocation de certificats et CTL peuvent être conservés et conservés dans des magasins de certificats. Ils peuvent être récupérés à partir d’un magasin dans lequel ils ont été conservés pour être utilisés 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 illustré dans l’illustration suivante.
L’illustration précédente montre :
- Chaque magasin de certificats a un pointeur vers le premier bloc de certificats de ce magasin.
- Un bloc de certificat inclut 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 existant.
Les certificats dans un magasin de certificats sont normalement conservés dans un 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.
Des 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 sur un ordinateur distant.
Chaque utilisateur dispose d’un magasin Mon personnel dans lequel les certificats de cet utilisateur sont stockés. Le Magasin Mon peut se trouver à l’un des nombreux emplacements physiques, y compris le registre sur un ordinateur local ou distant, un fichier de disque, une base de données, un service d’annuaire, un carte intelligent ou un autre emplacement. Bien que n’importe quel certificat puisse être stocké dans mon magasin, ce magasin doit être réservé aux certificats personnels d’un utilisateur : ceux 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 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 d’interface utilisateur rappellent à l’utilisateur de placer uniquement des 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 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 d’approbation similaires.
D’autres certificats peuvent être stockés dans le magasin système de l’autorité de certification ou dans des magasins basés sur des 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 qui utilise certaines de ces fonctions, consultez Exemple de programme C : Opérations de magasin de certificats.
Rubriques connexes