Personnalisation des pages d’inscription web des services de certificat
Les services de certificats fournissent des pages d’inscription web qui peuvent être utilisées pour demander des certificats. Un administrateur peut personnaliser certains des éléments qui peuvent être affichés dans les pages d’inscription web ; toutefois, vous devez vous familiariser avec les pages d’inscription web et les scripts web avant d’apporter des modifications. Pour plus d’informations sur les scripts web, consultez Scripting.
Les valeurs par défaut des champs Nom unique pour Organisation, Unité organisationnelle, Localité, État et Pays/Région sont les valeurs spécifiées pour l’autorité de certification lors de l’installation des services de certification. Ces valeurs par défaut apparaissent dans les pages web et peuvent être modifiées par l’utilisateur pendant le processus d’inscription de certificat. Toutefois, si vous souhaitez que d’autres valeurs par défaut apparaissent dans les pages web, vous pouvez modifier le fichier Certdat.inc (dans le chemin d’accès \WindowsDirectory\System32\Certsrv\); En particulier, vous pouvez affecter des valeurs personnalisées aux variables suivantes fournies pour la personnalisation.
Variable | Description |
---|---|
sDefaultCompany | Entreprise par défaut (apparaît dans la demande de certificat en tant que champ Organisation X.509 ). |
sDefaultOrgUnit | Service par défaut (apparaît dans la demande de certificat en tant que champ Unité d’organisation X.509). |
sDefaultLocality | Ville par défaut (apparaît dans la demande de certificat en tant que champ Emplacement X.509). |
sDefaultState | État/province par défaut (apparaît dans la demande de certificat en tant que champ État X.509). |
sDefaultCountry | Pays/région par défaut (apparaît dans la demande de certificat en tant que champ Pays/Région X.509). |
nPendingTimeoutDays | Nombre de jours pendant lesquels l’utilisateur peut récupérer un certificat en attente après qu’il a été demandé. |
Aucune autre variable ne doit être modifiée dans le fichier Certdat.inc.
L’exemple suivant définit l’unité d’organisation par défaut sur « Marketing ».
sDefaultOrgUnit="Marketing"
En outre, vous pouvez modifier le fichier Certrqtp.inc pour ajouter, modifier ou supprimer des modèles de certificat ou des types disponibles pour l’utilisateur. Ces modèles et types, ainsi que les informations associées, sont contenus dans un tableau dimensionné appelé rgAvailReqTypes(m,5).
Ce tableau, comme tous les tableaux Visual Basic Scripting Edition, est basé sur zéro et, par conséquent, la première dimension du tableau, m, alloue de la mémoire pour les éléments m+1. Par conséquent, si lors de la personnalisation des pages web, vous devez modifier le nombre d’éléments dans le tableau rgAvailReqTypes, définissez la dimension m sur une valeur inférieure au nombre total d’éléments dont vous avez besoin. Par exemple, si vous avez sept modèles de certificat, modifiez la déclaration de rgAvailReqTypes, comme illustré dans l’exemple suivant.
Dim rgAvailReqTypes(6,5)
La deuxième dimension du tableau, qui a toujours la valeur cinq, alloue les six champs qui composent chaque élément. Ces six champs représentent le modèle ou le type de certificat, le nom d’affichage associé à ce modèle ou ce type, et indiquent si le modèle nécessite des extensions de messagerie Internet sécurisées/polyvalentes (S/MIME).
Pour faciliter la compréhension de l’accès à ces champs, Certrqtp.inc fournit également les constantes suivantes que vous pouvez utiliser lors de la définition de valeurs de champ.
Constante | Description |
---|---|
FIELD_OID | (S’applique aux autorités de certification autonomes) Indexer le premier champ de l’élément ; représente un identificateur d’objet (OID) pour un type de certificat. |
FIELD_TEMPLATE | (S’applique aux autorités de certification d’entreprise) Indexer le premier champ de l’élément ; représente un modèle de certificat. |
FIELD_FRIENDLYNAME | Indexer le deuxième champ de l’élément ; représente le nom d’affichage (que l’utilisateur verra lors de l’inscription) de l’élément dans le premier champ. |
FIELD_CSPLIST | Indexer le troisième champ de l’élément. Liste des noms de fournisseurs de services de chiffrement autorisés par le modèle. Chaque nom de la liste est séparé par un point d’interrogation (?). |
FIELD_CSPLIST2 | Indexer le quatrième champ de l’élément. Liste secondaire des noms de fournisseurs de services de chiffrement autorisés par le modèle. Chaque nom de la liste est séparé par un point d’interrogation (?). Cette liste fournit une valeur par défaut différente. |
FIELD_EXPORTABLE | Indexer le cinquième champ de l’élément. Indique si le modèle spécifie que la clé doit être exportable. Si ce champ contient « True », la clé est exportable. Si ce champ contient « False », la clé n’est pas exportable. |
FIELD_NEEDS_SMIME_CAPABILITIES | Cette constante n’est pas prise en charge. |
Par exemple, les expressions suivantes attribuent l’OID de 1.3.6.1.5.5.7.3.2 au premier champ du premier élément et attribuent « Certificat de navigateur web » au deuxième champ du premier élément (la valeur de tableau zéro indexe le premier élément).
rgAvailReqTypes(0, FIELD_OID) = "1.3.6.1.5.5.7.3.2"
rgAvailReqTypes(0, FIELD_FRIENDLYNAME) = "Web Browser Certificate"
Le résultat de ces affectations est que l’utilisateur voit le texte Certificat de navigateur web lors de l’inscription, et si l’utilisateur sélectionne Certificat de navigateur web, la demande de certificat contient l’OID 1.3.6.1.5.5.7.3.2.
Le fichier Certrqtp.inc contient également des constantes utilisées pour les noms d’affichage des types ou modèles de certificat. L’exemple suivant montre le 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"
Ces constantes sont définies dans un bloc du fichier Certrqtp.inc, et ce regroupement facilite l’attribution d’une valeur personnalisée à chacune d’elles. Cela est particulièrement utile lorsque vous localisez les noms d’affichage des versions internationales des pages web.
Enfin, le fichier Certrqtp.inc contient une variable qui représente le nombre de modèles ou de types de certificats dans le tableau rgAvailReqTypes. Contrairement à la dimension m du tableau, définissez la valeur de la variable nAvailReqTypes sur le nombre réel de modèles ou de types de certificats que votre installation utilisera ; cette valeur ne doit pas être supérieure à m+1. Bien que déclaré près du haut du fichier Certrqtp.inc, nAvailReqTypes se voit attribuer une valeur après le remplissage du tableau rgAvailReqTypes, ce qui permet de voir plus facilement combien d’éléments sont réellement utilisés par le tableau. La valeur nAvailReqTypes est utilisée dans une itération ailleurs dans les pages d’inscription web. Il est donc important que cette variable reflète avec précision le nombre de modèles de certificat ou de types que vous souhaitez afficher pour l’utilisateur.
Notez que le simple fait d’ajouter des modèles et des types de certificat au fichier Certrqtp.inc ne garantit pas que l’utilisateur pourra obtenir un certificat avec ces caractéristiques ; l’autorité de certification doit être autorisée à émettre un certificat pour le modèle ou le type de certificat spécifié.
Les installations peuvent créer leurs propres applications ou pages web pour demander et recevoir un certificat. Les objets ICEnroll4 et ICertRequest2 permettent aux programmeurs ou aux scripteurs de créer des applications de demande de certificat .
Pour demander l’émission d’un certificat sur un carte intelligent, vous pouvez utiliser le contrôle d’inscription de carte à puce. Pour plus d’informations et un exemple de code, consultez ISCrdEnr.