novembre
2010
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.
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 alternatifs, 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
Par défaut oû devons-nous placer server.inf ? Si je le situe dans le rep c:, j’ai pu créer server.req par contre le fichier server.crt ne s’est pas créé ou je ne sais pas à quelle endroit il a été sauvegardé.