[AD CS] Demander un certificat avec OpenSSL sur Windows

OpenSSL est un outil très utilisé sous Linux ou Apache qui permet de manipuler des certificats et générer des clés et de demande de certificat.

Nous verrons dans cet exemple l'utilisation d' OpenSSL afin de générer une demande de certificat ainsi que la clé privée correspondante.

Vous avez également la possibilité d'installer les outils OpenSSL sur votre poste de travail Windows sans disposer d'un serveur Apache.

https://www.tbs-certificats.com/FAQ/fr/openssl-windows.html

La commande OpenSSL suivante permet de générer un fichier .key avec la clé privée et un fichier .csr avec la demande de certificat. Pour faciliter la lecture de la commande, une variable a été créé sous Windows afin de générer les noms des fichiers créés et le nom commun dans les propriétés du certificat.

set server="monServeur.htrab.lan"

openssl req -sha256 -nodes -newkey rsa:2048 -keyout %server%.key -out %server%.csr -subj "/C=FR/O=HTRAB/OU=TEST/CN=%server%"

L'option « req » permet de générer une requête de demande de certificat. La demande est enregistrée dans le fichier désigné par « -out ». L'option « -newkey » permet de générer le jeu de clé et la clé privée est enregistré dans le fichier désigné par « -keyout ». L'option « -subj », pour sujet permet de lister les attributs, comme le nom commun, la ville, etc …

 

Les attributs suivants sont souvent utilisés dans les certificats

 

CN : nom commun

C : Pays (country)

O : Organisation

OU : unité d'organisation

L : Ville

E : Adresse électronique de l'interlocuteur

S : Etat

 

 

 

Vous trouverez les 2 fichiers dans le dossier. Il est possible de les ouvrir avec un éditeur de texte.

 

Le fichier « .csr » peut être ouvert avec un éditeur de texte. Vous noterez l'indication sur la première et la dernière ligne qui indique qu'il s'agit d'une demande de certificat.

Si vous ouvrez le fichier « .key », vous retrouvez les zones « Begin Private Key » et « End Private Key » qui entoure la clé privée. A noter que la clé privée se trouve exposée dans un fichier texte. Il n'est pas recommandé de transférer le fichier tel quel.

Si vous devez échanger des fichiers, il est préférable de le chiffrer ou d'utiliser des fichiers #PKCS12 (par exemple .pfx). Ce type de fichier d'échange d'informations permet de sécuriser la clé privée en utilisant un mot de passe.

 

 

Nous disposons d'une requête de demande de certificat, que nous allons soumettre à notre autorité secondaire d'entreprise depuis la page d'inscription web d'AD CS.

Il est possible de faire la demande depuis la console certificat. Il faut juste garder à l'esprit que le demandeur doit disposer du droit d'inscription sur le modèle. Si vous utilisez de la console « mmc » certificat pour le compte de la machine, il faudra attribuer la permission « inscription » pour le compte d'ordinateur.

Dans notre exemple, nous utilisons le compte « Administrateur » qui dispose de la permission d'inscrire le certificat.

L'url par défaut des services d'inscriptions web d'AD CS se termine par « /certsrv ». Nous avons activé la prise en charge uniquement d' « https » et utilisons un certificat pour la partie IIS, voir le lien suivant.

Sur la page des services de certificat, sélectionnez « demander un certificat », puis « demande de certificat avancée ».

Dans la partie demande enregistrée, vous pouvez copier le texte du fichier CSR pour la demande de certificat. Ensuite, il faut sélectionner le modèle de certificat, par exemple « Serveur Web 2 ans », que nous avons créés ici.

Si le certificat ne demande pas d'approbation d'un administrateur, vous pourrez le télécharger tout de suite, ainsi que la chaîne de certificats, contenant les certificats de l'autorité racine et intermédiaire.

 

Une fois le certificat téléchargé, vous pourrez vérifier les informations présentes sur celui-ci, en ouvrant le fichier.