TUTOS.EU

Installer l'autorité de certification sur Windows server partie 2

Installation du subCA


Contrairement au root CA, le Sub Ca doit être un ordinateur joint au domaine.
Il aura ainsi accès à l'AD et il pourra être joint facilement par les ordinateurs du domaine etc ...

Il lui faut également un répertoire CertEnroll à la racine du disque D

Tout comme pour le serveur du root CA, on va ajouter un rôle

Next next

Cocher Active Directory Services tout pareil que le Root CA etc

Cliquer sur Next

Et sur Install

Ensuite en haut à droite lancer la configuration du Sub CA

Comme pour le Root CA, préciser le compte pour le Sub CA puis Next

Cocher Certification Authority puis Next pour Sub CA

Comme ce serveur est intégré au domaine, choisir Enterprise CA

On crée bien ici un Subordinate CA

Choisir le niveau de cryptage de la clé du Sub CA

Definir le nom pour la Sub CA et cliquer sur Next

Noter l'emplacement de la requête de certificat du sub CA

Ici vous pouvez choisir l'mplacement des logs du sub CA

Lancer la configuration sub CA

Cliquer sur Close


Rappelez vous, juste avant une demande de certificat pour le Sub Ca a été généré sous la forme d'un fichier .req sur le disque dur.

Copiez ce .req sur le serveur du Root CA

Toujours sur le Root CA, importez la demande en adaptant la commande suivante

certreq -submit <emplacement_du_.req>
Lien vers le fichier : cliquez ici Copier le code

Cliquer sur Ok

Accéder à la console avec certsrv.msc
Aller sous Issued Certificates et valider la demande de certificat du sub ca en cliquant sur Issue

Sous Issued Certificates, on voit les certificats générés par l'autorité de certification.
Ils sont numérotés. Relevé le numéro de celui qui correspond à la sub CA
puis adapter la commande suivante pour le récupérer.

L'extension doit être en .crt

certreq -retrieve <numéro_certificat> <Chemin_du_certificat_généré.crt>
Lien vers le fichier : cliquez ici Copier le code

Exemple

Cliquer sur Ok

Copier le certificat en .crt du sub ca sur le sub ca ainsi que le .rsp

Sur le sub ca, démarrer le service du sub ca

Répondre oui à la question

Filtrer sur .crt puis sélectionner certificat du sub ca

La subCA doit démarrer


Pour paramétrer la CRL sur le subCA

certutil -setreg CA\CRLPublicationURLs "65:D:\CertEnroll\%3%8%9.crl\n79:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n6:http://pki.mydomain.local/CertEnroll/%3%8%9.crl"
Lien vers le fichier : cliquez ici Copier le code

Et pour paramétrer AIA sur la SubCA

certutil -setreg CA\CACertPublicationURLs "65:D:\CertEnroll\MySubCa-CA.crt\n6:http://pki.mydomain.local/CertEnroll/MySubCa-CA.crt\n79:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11"
Lien vers le fichier : cliquez ici Copier le code

A noter que dans la commande, %3%8%9.crl donne <CaName><CRLNameSuffix><DeltaCRLAllowed> sur l'entrée du serveur

et le fichier porte le nom mydomain-MYSUBCA-CA

 

Donc <CaName> a été transformé en mydomain-MYSUBCA-CA

Redémarrer le service avec cette commande Powershell

Restart-Service CertSvc -force
Lien vers le fichier : cliquez ici Copier le code

Pour que http://pki.mydomain.local réponde on va installer IIS
Donc via server manager on lance l'installation d'un rôle, next next etc ..

Cocher le role IIS

Add Features etc ...

Rien de spécial dans les rôles à choisir

Install

Normalement le répertoire D:\CertEnroll existe déjà

Aller dans l'interface de gestion de IIS

Cliquer sur Add Virtual Directory

Et créer le virtual directory CertEnroll

Pour autoriser les caractères spéciaux

Cd C:\Windows\System32\inetsrv
appcmd set config "Default Web Site" /section:system.webserver/Security/requestFiltering -allowDoubleEscaping:True
Lien vers le fichier : cliquez ici Copier le code

Redémarrer IIS avec

iisreset
Lien vers le fichier : cliquez ici Copier le code

Il faut déclare pki.mydomain.local dans le dns
Sur l'AD, lancer la console avec

dnsmgmt.msc
Lien vers le fichier : cliquez ici Copier le code

Ici j'ai fait un alias qui pointe sur la subca car le serveur héberge le site

Sur le serveur de la SubCA dans D:\CertEnroll
Faire un fichier index.html
et y placer un texte comme It Works !

Avec un navigateur web, vérifier que votre url répond

Dans mon cas c'est http://pki.mydomain.local/CertEnroll/
mais il faut adapter avec votre site

On va faire un premier contrôle de l'état de la pki avec

pkiview.msc
Lien vers le fichier : cliquez ici Copier le code

Ici le rootCA est non joignable
et le premier AIA location du subCA est en erreur.
Cela vient du fait que le certificat du subCA n'est pas dans le répertoire CertEnroll

Pour placer un certificat public du subCA dans CertEnroll,
aller dans les propriétés de la subCA

Aller sur le certificat du subCA

Dans les détails, faire un copy to file

Export le certificat du subCA (en base64 de préférence mais ce n'est pas une obligation)

Mettre le certificat dans D:\CertEnroll
Pour le nom du fichier, mettre MySubCa-CA.crt

bien mettre un .crt et non un .cer vu que c'est ce qu'on a indiqué dans le chemin sous forme d'url pour le AIA

Rappel

Après refresh, pkiView est maintenant ok pour le subCA

Pour le rootCA il y a encore une erreur. Cela vient du fait que le fichier rootcacrl.crl n'existe pas encore dans D:\CertEnroll

copier la crl qui est sur le rootCA sur le subCA

sur le subCA, renommer la copie du fichier de la crl du rootCA avec le nom attendu

Un refresh de pkiView montre maintenant quelque-chose de clean

Ajouter un rôle

Next next

Cocher Active Directory Services

Add Features

Next next next next next

Install

Close

On règle la durée de validité du certificat avec certutil

certutil -setreg ca\ValidityPeriod "Years"  
certutil -setreg ca\ValidityPeriodUnits "5" 
Lien vers le fichier : cliquez ici Copier le code

Voici les explications

Pareil avec la CRL

certutil -setreg CA\CRLPeriodUnits 1 
certutil -setreg CA\CRLPeriod "Years" 
certutil -setreg CA\CRLOverlapPeriod "Months" 
certutil -setreg CA\CRLOverlapUnits 6 
Lien vers le fichier : cliquez ici Copier le code

2