Windows Server

AD CS — Autorité de certification

Déployer une PKI interne avec Active Directory Certificate Services pour émettre et gérer des certificats SSL/TLS dans votre domaine.

← Retour aux tutoriels Windows
📚 C'est quoi AD CS ? Active Directory Certificate Services (AD CS) transforme votre serveur en autorité de certification (CA). Cela vous permet d'émettre des certificats numériques pour sécuriser les communications internes : HTTPS sur vos sites intranet, chiffrement LDAPS, authentification par certificat, signature de code, etc. Plus besoin de certificats auto-signés ou de payer pour des certificats internes !
ⓘ Prérequis Un serveur membre du domaine Active Directory. Le rôle AD CS ne doit pas être installé sur un contrôleur de domaine en production (recommandation Microsoft). Un enregistrement DNS correct pour le serveur CA.

Installer le rôle AD CS

  1. Ouvrez le Gestionnaire de serveur → Ajouter des rôles.
  2. Cochez Services de certificats Active Directory.
  3. Sélectionnez au minimum Autorité de certification.
  4. Optionnel : cochez Inscription de l'autorité de certification via le Web.
  5. Terminez l'installation.

Configurer l'autorité de certification

Après l'installation, configurez le type de CA :

  1. Dans le Gestionnaire de serveur, cliquez sur la notification Configurer les services de certificats.
  2. Sélectionnez Autorité de certification.
  3. Type : CA racine d'entreprise (Enterprise Root CA).
  4. Nom commun : CA-Entreprise.
  5. Longueur de clé : 4096, algorithme de hachage : SHA256.
  6. Validité : 10 ans pour la CA racine.
  7. Terminez la configuration.
Type de CA Usage
Enterprise Root CA Petites structures — CA unique intégrée à l'AD.
Enterprise Subordinate CA Grandes structures — CA subordonnée à une CA racine hors-ligne.
Standalone Root CA CA hors-ligne, non intégrée à l'AD (usage rare).
⚠ CA racine hors-ligne En production, la bonne pratique est d'avoir une CA racine hors-ligne (un serveur éteint dans un coffre) et une CA subordonnée qui émet les certificats au quotidien. Pour un lab ou une petite structure, une Enterprise Root CA suffit.

Émettre un certificat serveur

  1. Sur le serveur qui a besoin du certificat, ouvrez IIS Manager ou la console certlm.msc.
  2. Dans IIS : Certificats de serveur → Créer une demande de certificat.
  3. Nom commun : intranet.domaine.local, longueur de clé : 2048.
  4. Enregistrez le fichier .req.
  5. Sur le serveur CA, ouvrez certsrv.msc → clic droit → Soumettre une nouvelle demande et sélectionnez le fichier.
  6. Approuvez la demande dans Demandes en attente (clic droit → Émettre).
  7. Exportez le certificat émis et installez-le sur le serveur d'origine.
💡 Astuce Pour les certificats web, le template WebServer est activé par défaut. Pour d'autres usages, dupliquez un template existant dans la console certtmpl.msc.

Déployer le certificat racine via GPO

Pour que tous les postes du domaine fassent confiance aux certificats émis par votre CA :

  1. Avec une CA Enterprise, le certificat racine est automatiquement distribué via l'AD.
  2. Vérification : sur un poste client, ouvrez certmgr.msc → Autorités de certification racines de confiance.
  3. Votre CA « CA-Entreprise » doit apparaître dans la liste.

Pour exporter le certificat racine manuellement :

  1. Ouvrez certsrv.msc → clic droit sur la CA → Propriétés.
  2. Onglet Général → cliquez sur Afficher le certificat → Détails → Copier dans un fichier.
  3. Enregistrez le fichier .cer et distribuez-le aux machines hors domaine.
ⓘ Pour les machines hors domaine Exportez le certificat racine (.cer) et installez-le manuellement dans le magasin « Autorités de certification racines de confiance » de chaque machine.

Surveiller et renouveler les certificats

  1. Ouvrez certsrv.msc → Certificats délivrés pour voir tous les certificats émis.
  2. Triez par Date d'expiration pour repérer ceux qui expirent bientôt.
  3. Pour renouveler : depuis le serveur concerné, ouvrez certlm.msc → clic droit sur le certificat → Renouveler le certificat avec une nouvelle clé.
  4. Pour révoquer : dans certsrv.msc, clic droit sur le certificat → Révoquer → choisissez la raison.

⌨️ Version PowerShell

Retrouvez ci-dessous les commandes PowerShell correspondant à chaque étape du tutoriel.

Étape 1 — Installer le rôle AD CS

# Installe le rôle Autorité de certification + outils
Install-WindowsFeature -Name AD-Certificate -IncludeManagementTools

# Inscription web (optionnel)
Install-WindowsFeature -Name ADCS-Web-Enrollment

Étape 2 — Configurer l'autorité de certification

# Configure une CA racine d'entreprise
Install-AdcsCertificationAuthority `
    -CAType EnterpriseRootCA `
    -CACommonName "CA-Entreprise" `
    -KeyLength 4096 `
    -HashAlgorithmName SHA256 `
    -ValidityPeriod Years `
    -ValidityPeriodUnits 10 `
    -Force

Étape 3 — Émettre un certificat serveur

# Fichier request.inf
$infContent = @"
[Version]
Signature = "`$Windows NT$"

[NewRequest]
Subject = "CN=intranet.domaine.local"
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
KeySpec = 1
KeyUsage = 0xa0
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"

[RequestAttributes]
CertificateTemplate = WebServer
"@
$infContent | Out-File -FilePath C:\cert\request.inf -Encoding ASCII

# Génère la CSR, soumet et installe
certreq -new C:\cert\request.inf C:\cert\request.req
certreq -submit C:\cert\request.req C:\cert\certificat.cer
certreq -accept C:\cert\certificat.cer

Étape 4 — Exporter et vérifier le certificat racine

# Exporte le certificat racine
certutil -ca.cert C:\cert\CA-Racine.cer

# Vérifie la santé de la CA
certutil -ping

# Liste les certificats émis
certutil -view -restrict "Disposition=20" -out "RequestID,CommonName,NotAfter"

Étape 5 — Surveiller et renouveler les certificats

# Certificats expirant dans 30 jours
$expiration = (Get-Date).AddDays(30)
Get-ChildItem Cert:\LocalMachine\My |
    Where-Object { $_.NotAfter -lt $expiration } |
    Select-Object Subject, NotAfter, Thumbprint |
    Format-Table -AutoSize

# Renouveler un certificat
certreq -enroll -machine -q "WebServer"

# Révoquer un certificat compromis
# certutil -revoke <NuméroSérie> 1
✔ Résultat Votre PKI interne est fonctionnelle. Vous pouvez émettre des certificats SSL/TLS pour vos services internes, sécuriser LDAPS, activer l'authentification par certificat et bien plus.