Udostępnij przez


Tworzenie certyfikatu

Kolejność wywołań w tworzeniu certyfikatu jest następująca:

  1. urząd certyfikacji (CA) inicjuje moduły za pośrednictwem wywołań ICertPolicy i ICertExit (odbywa się raz na inicjowaniu serwera). Urząd certyfikacji zainicjuje moduły zasad i moduły wyjścia, wywołując ICertPolicy2::Initialize i ICertExit::Initialize.
  2. Pośrednik wywołuje urząd certyfikacji za pośrednictwem ICertConfig (odbywa się raz na inicjowanie pośredniczące). Pośrednik znajduje wymagany ciąg konfiguracji, wywołując ICertConfig::GetConfig.
  3. Klient wywołuje pośrednika za pośrednictwem interfejsu specyficznego dla pośrednika (odbywa się raz na żądanie). Klient wysyła żądanie certyfikatu do pośrednika. Może to być na przykład program Microsoft Internet Explorer wysyłający żądanie za pośrednictwem kontroli rejestracji certyfikatów do usług Microsoft Internet Information Services.
  4. Pośrednictwo do CA za pomocą ICertRequest (odbywa się raz na żądanie). Pośrednik wysyła żądanie certyfikatu do urzędu certyfikacji za pośrednictwem ICertRequest::Submit. W przypadku usług Internet Information Services można to zrobić za pomocą skryptów active server pages.
  5. Urząd certyfikacji wywołuje moduł zasad za pośrednictwem interfejsu ICertPolicy (odbywa się raz na żądanie). Urząd certyfikacji powiadamia moduł zasad, że żądanie dotarło przez wywołanie ICertPolicy::VerifyRequest. Moduł zasad może zbadać żądanie i zmienić certyfikat, wywołując metody interfejsuICertServerPolicy. Moduł zasad może następnie wskazać, że żądanie jest ok (jeśli tak, certyfikat jest skompilowany w tym momencie), żądanie ma zostać odrzucone lub żądanie powinno zostać zawieszone.
  6. (Opcjonalnie) Administrator wywołuje urząd certyfikacji za pośrednictwem interfejsu ICertAdmin. Jeśli żądanie zostanie zawieszone, administrator może przesłać ponownie lub odrzucić żądanie albo zmodyfikować atrybuty i rozszerzenia żądania. Należy pamiętać, że jeśli żądanie zostanie złożone ponownie, moduł zasad będzie miał kolejną okazję do przetworzenia żądania (w wyniku wywołania ICertPolicy::VerifyRequest). Zadanie ponownego przesłania lub odrzucenia wniosku można wykonać za pomocą przystawki MMC Urzędu Certyfikacji lub innej aplikacji korzystającej z ICertAdmin.
  7. Urząd certyfikacji wywołuje moduł wyjściowy za pośrednictwem interfejsu ICertExit. Jeśli moduł zakończenia wskazał (w momencie wywołania ICertExit::Initialize w kroku 1), że jest zainteresowany otrzymywaniem informacji o certyfikatach wystawionych lub żądaniach oczekujących, urząd certyfikacji wywoła ICertExit::Powiadom.
  8. Moduł zakończenia wywołuje urząd certyfikacyjny za pośrednictwem interfejsu ICertServerExit. Moduł zakończenia może zbadać żądanie i nowy certyfikat, wywołując metody ICertServerExit.