15 mars 2014

comment générer un certificat en ligne de commande Win 2008 ?

Dans une entreprise disposant d’un Active Directory et du service de certificats d’Active Directory (nommé ADCS à partir de Windows 2008), on peut demander des certificats de différentes manières. On peut par exemple passer par la MMC certificats. Je préfère utiliser la ligne de commande (via certreq), bien plus rapide à mon goût. Voyons comment cela se passe…

Pour commencer, il faut créer un fichier .inf : conservez ce fichier comme modèle, ça vous permettra de créer rapidement d’autres certificats. Voici le contenu de ce fichier que je nommerai server.inf.

[Version] ; ne pas toucher a ces deux lignes
Signature="$Windows NT$ ; meme si transformer windows nt en autre chose est tentant

[NewRequest]
Subject = "CN=server.mondomaine.adds" ; nom principal de votre certificat
KeyLength = 1024 ; longueur de la cle, puissance de 2
Exportable = FALSE ; cle privee exportable ou pas
MachineKeySet = TRUE ; certificat ordinateur ou utilisateur
PrivateKeyArchive = FALSE ; doit-on archiver la cle privee dans le kra
KeyUsage = 0xa0 ; Digital Signature, Key Encipherment
FriendlyName = "Serveur avec SSL" ; nom user-friendly qui permet de distinguer facilement le certificat

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; authentification serveur
OID=1.3.6.1.5.5.7.3.2 ; authentification client

[RequestAttributes]
CertificateTemplate = WebServer ; modele de certificat, utile sur une autorite d'entreprise
SAN="dns=altname1.mondomaine.adds&dns=server.votredomaine.fr" ; noms altern
atifs, facultatif
Une fois que votre fichier est créé, il faut générer la clé privée et la requête de création de certificat. Cela se fait avec la commande certreq :
certreq -new server.inf server.req
Le fichier .req contient la requête qu’il faut soumettre à votre autorité de certification avec la commande ci-dessous. Si l’autorité accepte votre demande, elle vous retournera un fichier .crt
certreq -submit server.req server.crt
Il ne vous restera plus qu’à associer le certificat à la clé privée en faisant :
certreq -accept server.crt
Et voilà :) C’est vraiment rapide une fois que votre fichier inf est créé et ça permet aussi d’automatiser une étape de plus lors du déploiement de serveurs :)

Aucun commentaire :

Enregistrer un commentaire