Compilazione di un certificato
L'ordine delle chiamate nella compilazione di un certificato è il seguente:
- 'autorità di certificazione (CA) inizializza i moduli tramite chiamate a ICertPolicy e ICertExit (si verifica una volta all'inizializzazione del server). La CA inizializzerà i moduli di criteri e uscita chiamando ICertPolicy2::Initialize e ICertExit::Initialize.
- Intermediario chiama la CA tramite ICertConfig (avviene una volta per inizializzazione dell'intermediario). L'intermediario trova la stringa di configurazione necessaria chiamando ICertConfig::GetConfig.
- Il client chiama l'intermediario tramite un'interfaccia specifica dell'intermediario (avviene una volta per richiesta). Il client invia un richiesta di certificato all'intermediario. Ad esempio, Microsoft Internet Explorer invia una richiesta tramite il Controllo di registrazione dei certificati a Microsoft Internet Information Services.
- Intermediario alla CA tramite ICertRequest (si verifica una volta per ogni richiesta). L'intermediario invia la richiesta di certificato alla CA tramite ICertRequest::Submit. Nel caso di Internet Information Services, questa operazione può essere eseguita tramite script di Pagine di Active Server.
- La CA chiama il modulo dei criteri tramite l'interfaccia ICertPolicy (si verifica una volta per ogni richiesta). La CA notifica al modulo delle politiche che una richiesta è arrivata chiamando ICertPolicy::VerifyRequest. Il modulo criteri può esaminare la richiesta e modificare il certificato chiamando i metodi dell'interfaccia ICertServerPolicy. Il modulo criteri può quindi indicare che la richiesta è OK (in tal caso, il certificato viene compilato a questo punto), la richiesta deve essere negata o la richiesta deve essere sospesa.
- (Facoltativo) L'amministratore chiama la CA tramite l'interfacciaICertAdmin. Se la richiesta viene sospesa, l'amministratore può inviare o negare la richiesta oppure modificare attributi ed estensioni della richiesta. Si noti che se la richiesta viene inviata di nuovo, il modulo criteri avrà un'altra opportunità per elaborare la richiesta (a seguito di una chiamata a ICertPolicy::VerifyRequest). L'attività di ripresentare o negare la richiesta può essere eseguita tramite lo snap-in "MMC" dell'Autorità di Certificazione o un'altra applicazione che usa ICertAdmin.
- La CA chiama il modulo di uscita tramite l'interfaccia ICertExit. Se il modulo di uscita ha indicato (quando è stato chiamato ICertExit::Initialize, nel passaggio 1) che è interessato a visualizzare i certificati rilasciati o le richieste mantenute in sospeso, la CA chiamerà ICertExit::Notify.
- Il modulo exit chiama la CA tramite l'interfaccia ICertServerExit. Il modulo exit può esaminare la richiesta e il nuovo certificato chiamando i metodi di ICertServerExit.