Zwischenstufen

Vermittler kommunizieren mit Clientanwendungen, damit sie Zertifikatanforderungenübermitteln können, und (vorausgesetzt, die Anforderung ergibt ein ausgestelltes Zertifikat), um das ausgestellte Zertifikat auf den Client herunterzuladen. Jedes Transportschichtprotokoll erfordert einen eigenen Vermittler.

Microsoft-Zertifikatdienste werden mit einem Vermittler (den Webregistrierungsseiten) für HTTP versendet. Ein weiteres Beispiel für einen Vermittler ist das MICROSOFT Windows Certificates MMC-Snap-In (das das Aufrufen des Zertifikatanforderungs-Assistenten ermöglicht). Wenn andere Transportschichtprotokolle mit Zertifikatdiensten verwendet werden sollen, kann ein Entwickler einen Vermittler für jedes gewünschte Transportschichtprotokoll erstellen.

Vermittler kommunizieren mit Zertifikatdiensten über die schnittstellen ICertRequest und ICertConfig, die von der Server-Engine bereitgestellt werden. Die ICertRequest::Submit-Methode wird verwendet, um eine Zertifikatanforderung zu übermitteln, und ICertRequest::GetCertificate wird verwendet, um das resultierende ausgestellte Zertifikat zu erhalten. Auf ähnliche Weise wird ICertConfig::GetConfig verwendet, um zu bestimmen, welche Zertifizierungsstelle für die Ausstellung des Zertifikats verwendet werden kann.

Ein Vermittler ist nicht sprachabhängig. Dabei kann es sich um ein programm in C++, Visual Basic, Java, Skript oder eine andere Sprache schreiben.

Zusätzlich zum Sammeln von Daten vom Client zum Erstellen einer Zertifikatanforderung kann ein Vermittler Anforderungsattribute angeben. Anforderungen, die an eine Zertifizierungsstelle gesendet werden, die das Unternehmensrichtlinienmodul ausgeführt, müssen den Typ des angeforderten Zertifikats angeben, indem sie entweder ein CertificateTemplate-Attribut oder eine Zertifikatvorlagenerweiterung in der Anforderung selbst angeben.

Beachten Sie, dass Entwickler (und Vermittler) während der Erstellung einer Zertifikatanforderung für die Aufrechterhaltung der Geheimnisse des privaten Schlüssels verantwortlich sind. Nachdem ein privater Schlüssel kompromittiert wurde (seine Geheimnisse verloren), ist er nicht mehr von Nutzen.

Die Zertifikatdienste-Webregistrierungsseiten verwenden die Zertifikatregistrierungsschnittstellen, die private Schlüssel schützt, indem sie auf der Arbeitsstation generiert werden. Zusätzlich zur Beibehaltung der Geheimnisse des privaten Schlüssels ermöglicht das Zertifikatregistrierungssteuersystem einem Vermittler die Angabe des Kryptografiedienstanbieters, der Schlüsselspezifikation, der Schlüsselstärke und des Hashalgorithmus.

Das MMC-Snap-In Zertifikate verwendet auch die Zertifikatregistrierungssteuerung (Certificate Enrollment Control, Xenroll.dll). Wenn die Zertifikatdienste-Webregistrierungsseiten jedoch bewirken, dass die Ressource zur Steuerung der Zertifikatregistrierung (Certificate Enrollment Control, Xenroll.dll) bei Bedarf auf den Client heruntergeladen wird, wird das MMC-Snap-In Zertifikate in einer Umgebung ausgeführt, in der Xenroll.dll bereits eine verfügbare Ressource ist.

Zusätzlich zu ICertRequest und ICertConfigfinden Entwickler von Vermittlern möglicherweise die Schnittstellen für die Zertifikatregistrierung und das Smartcard-Registrierungssteuersystem als nützlich.