Anpassen von Webregistrierungsseiten für Zertifikatdienste
Zertifikatdienste stellen Webregistrierungsseiten bereit, die zum Anfordern von Zertifikaten verwendet werden können. Ein Administrator kann einige der Elemente anpassen, die auf den Webregistrierungsseiten angezeigt werden können. Sie sollten jedoch mit den Webregistrierungsseiten und dem Webskripting vertraut sein, bevor Sie Änderungen vornehmen. Weitere Informationen zum Webskripting finden Sie unter Skripterstellung.
Die Standardwerte für die Felder Distinguished Name für Organisation, Organisationseinheit, Lokalität, Staat und Land/Region sind die Werte, die für die Zertifizierungsstelle (CA) bei der Installation von Zertifikatdiensten angegeben sind. Diese Standardwerte werden auf den Webseiten angezeigt und können vom Benutzer während des Zertifikatregistrierungsprozesses geändert werden. Wenn jedoch andere Standardwerte auf den Webseiten angezeigt werden sollen, können Sie die Datei Certdat.inc bearbeiten (im Pfad \WindowsDirectory\System32\Certsrv\); Insbesondere können Sie den folgenden Variablen benutzerdefinierte Werte zuweisen, die für die Anpassung bereitgestellt werden.
Variable | Beschreibung |
---|---|
sDefaultCompany | Standardunternehmen (wird in der Zertifikatanforderung als X.509-Organisationsfeld angezeigt). |
sDefaultOrgUnit | Standardabteilung (wird in der Zertifikatanforderung als X.509-Organisationseinheitsfeld angezeigt). |
sDefaultLocality | Standardort (wird in der Zertifikatanforderung als X.509-Standortfeld angezeigt). |
sDefaultState | Standardzustand/Provinz (wird in der Zertifikatanforderung als X.509 State-Feld angezeigt). |
sDefaultCountry | Standardland/Region (wird in der Zertifikatanforderung als X.509-Feld Land/Region angezeigt). |
nPendingTimeoutDays | Anzahl der Tage, in denen der Benutzer ein ausstehendes Zertifikat abrufen kann, nachdem es angefordert wurde. |
In der Datei Certdat.inc sollten keine anderen Variablen geändert werden.
Im folgenden Beispiel wird die Standardorganisationseinheit auf "Marketing" festgelegt.
sDefaultOrgUnit="Marketing"
Darüber hinaus können Sie die Datei Certrqtp.inc bearbeiten, um dem Benutzer verfügbare Zertifikatvorlagen oder -typen hinzuzufügen, zu ändern oder zu entfernen. Diese Vorlagen und Typen sowie zugehörige Informationen sind in einem dimensionierten Array mit dem Namen rgAvailReqTypes(m,5) enthalten.
Dieses Array ist wie alle Visual Basic Scripting Edition-Arrays nullbasiert, und daher weist die erste Dimension des Arrays, m, Arbeitsspeicher für m+1-Elemente zu. Wenn Sie also beim Anpassen der Webseiten die Anzahl der Elemente im rgAvailReqTypes-Array ändern müssen, legen Sie die m-Dimension auf eins kleiner als die Gesamtanzahl der elemente fest, die Sie benötigen. Wenn Sie beispielsweise über sieben Zertifikatvorlagen verfügen, ändern Sie die Deklaration von rgAvailReqTypes wie im folgenden Beispiel gezeigt.
Dim rgAvailReqTypes(6,5)
Die zweite Dimension des Arrays, die immer den Wert fünf aufweist, weist die sechs Felder zu, aus denen jedes Element besteht. Diese sechs Felder stellen die Zertifikatvorlage oder den Zertifikattyp, den Anzeigenamen, der dieser Vorlage oder dem Typ zugeordnet ist, und dar, ob die Vorlage Secure/Multipurpose Internet Mail Extensions (S/MIME) erfordert.
Um zu verstehen, auf welche dieser Felder zugegriffen wird, stellt Certrqtp.inc auch die folgenden Konstanten bereit, die Sie beim Festlegen von Feldwerten verwenden können.
Konstante | Beschreibung |
---|---|
FIELD_OID | (Gilt für eigenständige Zertifizierungsstellen) Index für das erste Feld des Elements; stellt einen Objektbezeichner (Object Identifier, OID) für einen Zertifikattyp dar. |
FIELD_TEMPLATE | (Gilt für Unternehmenszertifizierungsstellen) Index für das erste Feld des Elements; stellt eine Zertifikatvorlage dar. |
FIELD_FRIENDLYNAME | Index für das zweite Feld des Elements; stellt den Anzeigenamen des Elements im ersten Feld dar (der dem Benutzer bei der Registrierung angezeigt wird). |
FIELD_CSPLIST | Index für das dritte Feld des Elements. Eine Liste der von der Vorlage zulässigen Namen des Kryptografiedienstanbieters . Jeder Name in der Liste ist durch ein Fragezeichen (?) getrennt. |
FIELD_CSPLIST2 | Index für das vierte Feld des Elements. Eine sekundäre Liste von Namen des Kryptografiedienstanbieters , die von der Vorlage zugelassen werden. Jeder Name in der Liste ist durch ein Fragezeichen (?) getrennt. Diese Liste enthält einen anderen Standardwert. |
FIELD_EXPORTABLE | Index für das fünfte Feld des Elements. Gibt an, ob die Vorlage angibt, dass der Schlüssel exportierbar sein soll. Wenn dieses Feld "True" enthält, kann der Schlüssel exportiert werden. Wenn dieses Feld "False" enthält, kann der Schlüssel nicht exportiert werden. |
FIELD_NEEDS_SMIME_CAPABILITIES | Diese Konstante wird nicht unterstützt. |
Beispielsweise weisen die folgenden Ausdrücke die OID von 1.3.6.1.5.5.7.3.2 dem ersten Feld des ersten Elements zu und weisen "Webbrowserzertifikat" dem zweiten Feld des ersten Elements zu (der Arraywert von Null indiziert das erste Element).
rgAvailReqTypes(0, FIELD_OID) = "1.3.6.1.5.5.7.3.2"
rgAvailReqTypes(0, FIELD_FRIENDLYNAME) = "Web Browser Certificate"
Das Ergebnis dieser Zuweisungen ist, dass dem Benutzer bei der Registrierung der Text Webbrowserzertifikat angezeigt wird, und wenn der Benutzer Webbrowserzertifikat auswählt, enthält die Zertifikatanforderung die OID 1.3.6.1.5.5.7.3.2.
Die Datei Certrqtp.inc enthält auch Konstanten, die für die Anzeigenamen der Zertifikatvorlagen oder -typen verwendet werden. Das folgende Beispiel zeigt das Format.
' Strings for localization.
Const L_WebBrowserCert_Text="Web Browser Certificate"
Const L_EmailProtectionCert_Text="E-Mail Protection Certificate"
Const L_UserTemplateCert_Text="User Certificate"
Diese Konstanten werden in einem Block in der Datei Certrqtp.inc definiert, und diese Gruppierung erleichtert es ihnen, jedem einen benutzerdefinierten Wert zuzuweisen. Dies ist besonders hilfreich, wenn Sie die Anzeigenamen für internationale Versionen der Webseiten lokalisieren.
Schließlich enthält die Datei Certrqtp.inc eine Variable, die die Anzahl der Zertifikatvorlagen oder -typen im rgAvailReqTypes-Array darstellt. Legen Sie im Gegensatz zur m-Dimension des Arrays den Wert der Variablen nAvailReqTypes auf die tatsächliche Anzahl von Zertifikatvorlagen oder -typen fest, die von der Installation verwendet werden. Dieser Wert darf nicht größer als m+1 sein. Obwohl nAvailReqTypes am Anfang der Datei Certrqtp.inc deklariert ist, wird nAvailReqTypes nach dem Auffüllen des rgAvailReqTypes-Arrays ein Wert zugewiesen, sodass sie leichter erkennen kann, wie viele Elemente tatsächlich vom Array verwendet werden. Der Wert nAvailReqTypes wird in einer Iteration an anderer Stelle auf den Webregistrierungsseiten verwendet. Daher ist es wichtig, dass diese Variable die Anzahl der Zertifikatvorlagen oder -typen genau widerspiegelt, die für den Benutzer sichtbar sein sollen.
Beachten Sie, dass das bloße Hinzufügen von Zertifikatvorlagen und -typen zur Datei Certrqtp.inc nicht garantiert, dass der Benutzer ein Zertifikat mit diesen Merkmalen erhalten kann. Die Zertifizierungsstelle muss autorisiert sein, ein Zertifikat für die angegebene Zertifikatvorlage oder den angegebenen Zertifikattyp auszugeben.
Installationen können eigene Anwendungen oder Webseiten erstellen, um ein Zertifikat anzufordern und zu erhalten. Die ICEnroll4 - und ICertRequest2-Objekte ermöglichen Programmierern oder Skriptern das Erstellen von Zertifikatanforderungsanwendungen .
Um die Ausstellung eines Zertifikats für eine intelligente Karte anzufordern, können Sie die Smartcardregistrierungssteuerung verwenden. Ausführliche Informationen und Beispielcode finden Sie unter ISCrdEnr.