Intermediari

Gli intermediari comunicano con le applicazioni client per consentire loro di inviare richieste di certificato e (presupponendo che la richiesta restituisca un certificato emesso) per scaricare il certificato rilasciato al client. Ogni protocollo del livello di trasporto richiede un proprio intermediario.

Servizi certificati Microsoft viene fornito con un intermediario (le pagine di registrazione Web) per HTTP. Un altro esempio di intermediario è lo snap-in MMC certificati Microsoft Windows , che consente di richiamare la Richiesta guidata certificati. Se altri protocolli del livello di trasporto devono essere usati con Servizi certificati, uno sviluppatore può creare un intermediario per ogni protocollo del livello di trasporto desiderato.

Gli intermediari comunicano con i servizi certificati usando le interfacce ICertRequest e ICertConfig fornite dal motore del server. Il metodo ICertRequest::Submit viene usato per inviare una richiesta di certificato e ICertRequest::GetCertificate viene usato per ottenere il certificato emesso risultante. Analogamente, ICertConfig::GetConfig viene usato per determinare quale autorità di certificazione può essere usata per rilasciare il certificato.

Un intermediario non dipende dalla lingua. Può trattarsi di un programma scritto in C++, Visual Basic, Java, script o un altro linguaggio.

Oltre a raccogliere dati dal client per compilare una richiesta di certificato, un intermediario può specificare gli attributi della richiesta. Le richieste inviate a un'autorità di certificazione che esegue il modulo criteri dell'organizzazione devono indicare il tipo di certificato richiesto specificando un attributo "CertificateTemplate" o un'estensione del modello di certificato nella richiesta stessa.

Si noti che durante la creazione di una richiesta di certificato, gli sviluppatori (e gli intermediari) sono responsabili della segretezza della chiave privata. Dopo che una chiave privata è stata compromessa (persa la sua segretezza), è inutile.

Le pagine di registrazione Web di Servizi certificati usano le interfacce di registrazione certificati, che proteggono le chiavi private generandole nella workstation. Oltre a mantenere la segretezza della chiave privata, il controllo di registrazione certificati consente a un intermediario di specificare il provider del servizio di crittografia, la specifica della chiave, il livello di attendibilità della chiave e l'algoritmo hash.

Lo snap-in MMC Certificati usa anche il controllo di registrazione certificati (Xenroll.dll). Tuttavia, quando le pagine di registrazione Web di Servizi certificati determinano il download della risorsa Controllo registrazione certificati (Xenroll.dll) nel client, se necessario, lo snap-in MMC certificati viene eseguito in un ambiente in cui Xenroll.dll è già una risorsa disponibile.

Oltre a ICertRequest e ICertConfig, gli sviluppatori di intermediari possono trovare le interfacce di registrazione certificati e il controllo di registrazione smart card per essere utili.