Zertifikatregistrierungssteuerung
Die Zertifikatregistrierungssteuerung kann von einer Anwendung verwendet werden, die anfordern muss, dass ein Zertifikat für einen benannten Antragsteller ausgestellt wird. Es ist so konzipiert, dass Daten in Form einer binären Zeichenfolge (BSTR) akzeptiert werden. Die Daten können von einer Webseite oder von der Benutzeroberfläche des Visual Basic oder Visual C++ Entwicklungssystems stammen. Die Ausgabe der Zertifikatregistrierungssteuerung ist eine PKCS # 10-Zertifikatanforderung, die an eine Zertifizierungsstelle gesendet werden kann.

Die erforderlichen Informationen zum Benutzer, dem Zertifikatsubjekt, werden vom Benutzeroberfläche gesammelt. Diese Informationen werden als BSTR-Eingabe für die Zertifikatregistrierungssteuerung bereitgestellt. Die Zertifikatregistrierungssteuerung generiert den entsprechenden Signaturschlüssel, Schlüsselaustauschschlüssel oder beide Schlüsselpaare. Das Steuerelement generiert und signiert dann eine PKCS # 10-Zertifikatanforderung mithilfe des generierten privaten Schlüssels. Die Zertifikatregistrierungssteuerung verknüpft dann das Schlüsselpaar mit einem temporären Dummyzertifikat, das im Anforderungsspeicher gespeichert wird, bis das ausgestellte Zertifikat von einer Zertifizierungsstelle zurückgegeben wird. Schließlich sendet die Anwendung die PKCS # 10-Zertifikatanforderung an eine Zertifizierungsstelle.
Wenn die Zertifizierungsstelle die Zertifikatanforderung genehmigt, erstellt die Zertifizierungsstelle ein Zertifikat mit dem öffentlichen Schlüssel. Die Zertifizierungsstelle signiert auch das Zertifikat und gibt es zurück.
Wenn das angeforderte Zertifikat von der Zertifizierungsstelle zurückgegeben wird, übergibt die Anwendung die PKCS # 7-Nachricht zurück an die Zertifikatregistrierungssteuerung, wo das Zertifikat oder die Zertifikatkette aus der PKCS # 7-Nachricht extrahiert wird. Das Zertifikat und alle anderen Zertifikate in der Vertrauenskette werden in einem Zertifikatspeichergespeichert. Das zurückgegebene Zertifikat wird in keiner Weise geändert. Jede zertifikatfähige Anwendung kann jetzt über den Speicher auf dieses Zertifikat zugreifen.
Die Smartcard-Registrierungssteuerung wird von einem Administrator verwendet, um sich im Namen von Smartcardbenutzern zu registrieren. Der Registrierungsprozess führt dazu, dass ein Zertifikat ausgestellt wird, das auf der Smartcard eines Benutzers gespeichert ist.
Die Smartcard-Registrierungssteuerung ist in Scrdenrl.dll enthalten und besteht aus einem Objekt, SCrdEnr. In Scrdenrl.dll sind keine anderen Objekte enthalten. Dieses Smartcard-Registrierungsobjekt kann mit einer Skriptsprache wie Visual Basic Scripting Edition (VBScript) verwendet werden.
Auf dem Computer, auf dem die Smartcardregistrierungssteuerung ausgeführt wird, muss ein Smartcardleser installiert sein.
Darüber hinaus muss der Smartcardaussteller ein Signaturzertifikat erhalten haben, das auf der Zertifikatvorlage "EnrollmentAgent" basiert. Dieses Signaturzertifikat wird verwendet, um die Zertifikatanforderung zu signieren, die im Auftrag des Smartcardempfängers generiert wurde. Standardmäßig erhalten Domänenadministratoren die Berechtigung, ein Zertifikat basierend auf der Vorlage "Registrierungs-Agent" anzufordern. Einem anderen Benutzer kann die Berechtigung erteilt werden, sich für ein "EnrollmentAgent"-Zertifikat zu registrieren (über das MMC-Snap-In Active Directory-Standorte und -Dienste). Auf diese Weise kann dieser Benutzer jedoch selbst eine Smartcard mit Domänenadministratorberechtigungen ausstellen.