Partager via


Génération d’un certificat

L’ordre des appels dans la génération d’un certificat est le suivant :

  1. L’autorité de certification initialise les modules via des appels à ICertPolicy et ICertExit (se produit une fois sur l’initialisation du serveur). L’autorité de certification initialise la stratégie et quitte les modules en appelant ICertPolicy2::Initialize et ICertExit::Initialize.
  2. L’intermédiaire appelle l’autorité de certification via ICertConfig (se produit une fois par initialisation intermédiaire). L’intermédiaire recherche la chaîne de configuration nécessaire en appelant ICertConfig::GetConfig.
  3. Le client appelle l’intermédiaire via une interface propre à l’intermédiaire (se produit une fois par demande). Le client envoie une demande de certificat à l’intermédiaire. Il peut s’agir, par exemple, de Microsoft Internet Explorer l’envoi d’une demande via le contrôle d’inscription de certificat à Microsoft Internet Information Services.
  4. Intermédiaire à l’autorité de certification via ICertRequest (se produit une fois par demande). L’intermédiaire envoie la demande de certificat à l’autorité de certification via ICertRequest::Submit. Dans le cas d’Internet Information Services, cela peut être effectué via des scripts Pages de serveur actif.
  5. L’autorité de certification appelle le module de stratégie via l’interface ICertPolicy (se produit une fois par demande). L’autorité de certification avertit le module de stratégie qu’une demande est arrivée en appelant ICertPolicy::VerifyRequest. Le module de stratégie peut examiner la demande et modifier le certificat en appelant les méthodes de l’interface ICertServerPolicy . Le module de stratégie peut alors indiquer que la requête est OK (si c’est le cas, le certificat est généré à ce stade), que la demande doit être refusée ou que la demande doit être suspendue.
  6. (Facultatif) L’administrateur appelle l’autorité de certification via l’interface ICertAdmin . Si la demande est suspendue, l’administrateur peut soumettre à nouveau ou refuser la demande, ou modifier les attributs et extensions de la demande. Notez que si la demande est de nouveau soumises, le module de stratégie aura une autre possibilité de traiter la demande (à la suite d’un appel à ICertPolicy::VerifyRequest). La tâche de soumission ou de refus de la demande peut être effectuée au moyen du composant logiciel enfichable MMC de l’autorité de certification ou d’une autre application qui utilise ICertAdmin.
  7. L’autorité de certification appelle le module de sortie via l’interface ICertExit . Si le module de sortie a indiqué (lorsque ICertExit::Initialize a été appelé, à l’étape 1) qu’il souhaite voir les certificats émis ou les demandes en attente, l’autorité de certification appelle ICertExit::Notify.
  8. Le module de sortie appelle l’autorité de certification via l’interface ICertServerExit . Le module de sortie peut examiner la demande et le nouveau certificat en appelant les méthodes de ICertServerExit.