Modifier les pages web d'inscription de certificat (/certsrv/) sous Windows Server 2003 pour supporter les clients Windows Vista

Published 22 mai 07 01:34 | vincent

Contrairement à Windows XP et à Windows Server 2003, le nouveau système d'exploitation de Microsoft, Windows Vista, ne supporte pas l'ActiveX Xenroll, qui permettait d'effectuer une demande de certificat via l'interface web dédiée à cet effet, accessible via l'adresse http://CA/CertSrv/. Les clients sous Windows Vista utilisent maintenant l'objet COM CertEnroll pour effectuer une demande d'inscription de certificat.

Pour délivrer des certificats à des clients sous Windows Vista depuis une autorité de certification sous Windows Server 2003, il est donc nécessaire de modifier les pages web d'inscription de certificat.

La technique proposée par Microsoft consiste à utiliser les pages web d'incription de certificat de Windows Server 2008 (Longhorn) sur un Windows Server 2003. Les 2 procédures possibles sont les suivantes :

 

Première méthode :

  1. Redémarrer le serveur en mode sans échec
  2. Copier tous fichiers présents à la racine du dossier %systemroot%\system32\certsrv\, à l'exception du fichier certdat.inc, ainsi que le dossier certcontrol dans le dossier %systemroot%\system32\certsrv\backup\. Il devrait normalement rester dans le dossier %systemroot%\system32\certsrv\ :
    • le fichier certdata.inc
    • le dossier CertEnroll
    • le dossier backup contenant les anciens fichiers

  3. Redémarrer le serveur en mode normal
  4. Installer Windows Server 2008, actuellement en beta 3 et disponible sur le site de Microsoft, sur un autre serveur
  5. Ajouter sur ce serveur nouvellement installé les rôles suivants à l'aide du Server Manager :
    • Active Directory Certificate Services
    • Web Server (IIS)

  6. Sélectionner ensuite les features liées au rôle Active Directory Certificate Services à ajouter :
    • Certification Authority
    • Certification Authority Web Enrollment

     

  7. Une fois l'installation terminée, aller dans le dossier %systemroot%\system32\CertSrv\en-US\ sur Windows Server 2008 et copier tout le contenu dans le dossier %systemroot%\system32\CertSrv\ sur Windows Server 2003 pour obtenir le résultat suivant :

  8. Editer le fichier certdat.inc situé dans le répertoire %systemroot%\system32\CertSrv\ sur Windows Server 2003 pour supprimer les lignes suivantes :
    ' control versions 
    sXEnrollVersion="5,131,3686,0"
    sScrdEnrlVersion="5,131,3790,1206" 
    sScrdW2KVersion="5,131,2195,5583"
  9. Modifier les fichiers suivants situés dans le répertoire %systemroot%\system32\CertSrv\ sur Windows Server 2003 pour remplacer la ligne <!-- #include FILE="..\certdat.inc"--> par la ligne <!-- #include FILE="certdat.inc"--> :
    • certcarc.asp
    • certckpn.asp
    • certcrl.crl
    • certfnsh.asp
    • certnew.cer
    • certnew.p7b
    • certrmpn.asp
    • certrqad.asp
    • certrqbi.asp
    • certrqma.asp
    • certrqus.asp
    • certrqxt.asp
    • certrsdn.asp
    • certrser.asp
    • certrsis.asp
    • certrsob.asp
    • certrspn.asp
    • default.asp
  10. Editer le fichier certsgcl.inc situé dans le répertoire %systemroot%\system32\CertSrv\ sur Windows Server 2003, puis rechercher les fonctions WriteTemplateList() et IsUserTemplateAvailable()
  11. Dans ces deux fonctions, remplacer la ligne Set WebEnrlServer=Server.CreateObject("WebEnrlServer.WebEnrlServer.1") par Set WebEnrlServer=Server.CreateObject("SCrdEnr.SCrdEnr.1")
  12. Les pages web d'inscription de certificats devraient maintenant être capables de délivrer des certificats à des clients exécutant Windows Vista.

 

Deuxième méthode :

  1. Redémarrer le serveur en mode sans échec
  2. Copier tous fichiers présents à la racine du dossier %systemroot%\system32\certsrv\, à l'exception du fichier certdat.inc, ainsi que le dossier certcontrol dans le dossier %systemroot%\system32\certsrv\backup\. Il devrait normalement rester dans le dossier %systemroot%\system32\certsrv\ :
    • le fichier certdata.inc
    • le dossier CertEnroll
    • le dossier backup contenant les anciens fichiers

  3. Redémarrer le serveur en mode normal
  4. Télécharger ce fichier contenant les pages web d'inscription de certificat de Windows Server 2008 modifiées pour fonctionner sous Windows Server 2003
  5. Extraire le contenu de l'archive dans le répertoire %systemroot%\system32\CertSrv\ sur Windows Server 2003
  6. Editer le fichier certdat.inc situé dans le répertoire %systemroot%\system32\CertSrv\ sur Windows Server 2003 pour supprimer les lignes suivantes :
    ' control versions 
    sXEnrollVersion="5,131,3686,0"
    sScrdEnrlVersion="5,131,3790,1206" 
    sScrdW2KVersion="5,131,2195,5583"
  7. Les pages web d'inscription de certificats devraient maintenant être capables de délivrer des certificats à des clients exécutant Windows Vista.

Comments

No Comments