Intermediari

Gli intermediari comunicano con le applicazioni client per consentire loro di inviare richieste di certificato e (presupponendo che la richiesta risultati in un certificato emesso) per scaricare il certificato emesso nel client. Ogni protocollo del livello di trasporto richiede il 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 di Microsoft Windows Certificate (che consente di richiamare la Procedura guidata richiesta certificati). Se altri protocolli del livello di trasporto devono essere usati con Servizi certificati, uno sviluppatore può creare un intermediario per ogni protocollo di 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 rilasciato 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ò essere 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 attributi di richiesta. Le richieste inviate a un'autorità di certificazione che esegue il modulo criteri enterprise devono indicare il tipo di certificato richiesto specificando un attributo "CertificateTemplate" o un'estensione 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 conservazione della segretezza della chiave privata. Dopo che una chiave privata è stata compromessa (ha perso 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 registrazione certificati consente a un intermediario di specificare il provider di servizi crittografici, la specifica della chiave, la forza della chiave e l'algoritmo hash.

Lo snap-in MMC Certificati usa anche il controllo registrazione certificati (Xenroll.dll). Tuttavia, se necessario, le pagine di registrazione Web di Servizi certificati causano 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 registrazione smart card da usare.