Erstellen eines Zertifikats
Die Reihenfolge der Aufrufe beim Erstellen eines Zertifikats lautet wie folgt:
- Die Zertifizierungsstelle initialisiert Module durch Aufrufe von ICertPolicy und ICertExit (einmal bei der Serverinitialisierung). Die Zertifizierungsstelle initialisiert die Richtlinien- und Exitmodule, indem sie ICertPolicy2::Initialize und ICertExit::Initialize aufruft.
- Intermediär ruft die Zertifizierungsstelle über ICertConfig auf (erfolgt einmal pro Zwischeninitialisierung). Der Vermittler findet die erforderliche Konfigurationszeichenfolge, indem er ICertConfig::GetConfig aufruft.
- Der Client ruft den Vermittler über eine für den Vermittler spezifische Schnittstelle auf (einmal pro Anforderung). Der Client sendet eine Zertifikatanforderung an den Vermittler. Dies kann z. B. microsoft Internet Explorer das Senden einer Anforderung über die Zertifikatregistrierungssteuerung an Microsoft-Internetinformationsdienste sein.
- Zwischenschaltung zur Zertifizierungsstelle über ICertRequest (einmal pro Anforderung). Der Vermittler sendet die Zertifikatanforderung über ICertRequest::Submit an die Zertifizierungsstelle. Im Fall von Internetinformationsdiensten kann dies über Active Server Pages-Skripts erfolgen.
- Die Zertifizierungsstelle ruft das Richtlinienmodul über die ICertPolicy-Schnittstelle auf (einmal pro Anforderung). Die Zertifizierungsstelle benachrichtigt das Richtlinienmodul, dass eine Anforderung eingegangen ist, indem sie ICertPolicy::VerifyRequest aufruft. Das Richtlinienmodul kann die Anforderung untersuchen und das Zertifikat ändern, indem Methoden der ICertServerPolicy-Schnittstelle aufgerufen werden. Das Richtlinienmodul kann dann angeben, dass die Anforderung ok ist (wenn dies der Fall ist, wird das Zertifikat an diesem Punkt erstellt), die Anforderung abgelehnt oder die Anforderung sollte angehalten werden.
- (Optional) Der Administrator ruft die Zertifizierungsstelle über die ICertAdmin-Schnittstelle auf. Wenn die Anforderung angehalten wird, kann der Administrator die Anforderung erneut übermitteln oder ablehnen oder Anforderungsattribute und Erweiterungen ändern. Beachten Sie, dass das Richtlinienmodul bei erneuter Übermittlung der Anforderung eine weitere Möglichkeit hat, die Anforderung zu verarbeiten (als Ergebnis eines Aufrufs von ICertPolicy::VerifyRequest). Die Aufgabe, die Anforderung erneut zu übermitteln oder zu verweigern, kann mithilfe des MMC-Snap-Ins zertifizierungsstelle oder einer anderen Anwendung ausgeführt werden, die ICertAdmin verwendet.
- Die Zertifizierungsstelle ruft das Exitmodul über die ICertExit-Schnittstelle auf. Wenn das Exitmodul (beim Aufruf von ICertExit::Initialize in Schritt 1) angegeben hat, dass es an ausgestellten Zertifikaten oder ausstehenden Anforderungen interessiert ist, ruft die Zertifizierungsstelle ICertExit::Notify auf.
- Das Exitmodul ruft die Zertifizierungsstelle über die ICertServerExit-Schnittstelle auf . Das Exitmodul kann die Anforderung und das neue Zertifikat untersuchen, indem Methoden von ICertServerExit aufgerufen werden.