TUTOS.EU

Créer un certificat avec une autorité de certification Windows

On a vu précédemment comment créer une autorité de certification Windows et des templates. On va maintenant voir comment faire un certificat.
Il y a plusieurs façon d'en demander un. Avec le temps je préfère utiliser openssl au lieu de l'interface graphique.

Sur le sujet j'ai trouvé ces articles :


Pour faire une demande de certificat à une autorité de certification Windows via openssl, il faut commencer par faire un fichier que l'on va nommer ici demandecertificat.conf

Coller y dedans le contenu ci-dessous et adaptez le en fonction de votre besoin.

Vous pouvez trouver des informations sur les différentes options sous CONFIGURATION FILE FORMAT dans https://www.openssl.org/docs/man1.1.1/man1/openssl-req.html

Ici vous voyez que dans la partie [ alt_names ] on renseigne le nom dns du site, son nom court ou netbios et son ip, mais vous n'être pas obligé de tout mettre. Vous pouvez mettre uniquement le nom dns.

[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=FR
L=MaVille
ST=MonDepartement
O=MaSocieté
OU=IT
CN = monsiteweb.mondomaine.fr

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = monsiteweb.mondomaine.fr
DNS.2 = monsiteweb
IP.1 = 182.28.12.xxx
Lien vers le fichier : cliquez ici

Ne modifiez pas les valeurs des lignes req_extensions et distinguished_name,
elles font elles-mêmes référence à une section située plus loin.
Même chose pour subjectAltName

Maintenant, on va générer une clé privée en modifiant "nommachine" par le nom de votre serveur

openssl genrsa -out nommachine.key 2048
Lien vers le fichier : cliquez ici

Générer une demande de certificat, cad un fichier csr (pour Certificate Signing Request) en adaptant cette commande.
Vous voyez qu'elle nécessite le fichier de configuration demandecertificat.conf créé au début ainsi que la clé privée.

openssl.exe  req -new -sha256 -nodes -out nommachine.csr -newkey rsa:2048 -keyout nommachine.key -config demandecertificat.conf
Lien vers le fichier : cliquez ici

Copier le fichier .csr généré dans un répertoire de votre autorité de certification.

Pour soumettre la demande, cad le .csr, il va falloir indiquer le template à utiliser.
Si le nom du template est bien indiqué, une fenêtre de sélection apparaitra

certreq -submit -attrib "CertificateTemplate:TutoWebServer"
Lien vers le fichier : cliquez ici

Attention au nom du template, il faut bien prendre la valeur du champ Template name qui n'a en général pas d'espaces, et non pas celle du Template display name

Dans le cas contraire vous aurez une erreur du type
The requested certificate template is not supported by this CA 0x80094800 -2146875392 CERTSRV_E_UNSUPPORTED_CERT_TYPE Denied by Policy Module 0x80094800 etc

Pointer sur le .csr généré précédemment

Sélectionner votre autorité de certification

Enregistrer le certificat avec l'extension cer de préférence (et non pas crt)

Ensuite, générer un pfx en adaptant cette commande

openssl.exe pkcs12 -export -in nommachine.cer -inkey nommachine.key -out nommachine.pfx
Lien vers le fichier : cliquez ici

Un mot de passe sera demandé pour protéger la clé privée.
Stocker ce mot de passe dans un endroit sécurisé comme dans un keepass.

Vérifier ensuite que vous arrivez bien à extraire la clé privée du pfx avec votre mot de passe en adaptant cette commande

openssl pkcs12 -in moncertificat.pfx -nocerts -nodes -out moncertificat.key
Lien vers le fichier : cliquez ici

Déclarer votre certificat sur votre serveur ou autre.

Si le mot de passe est bien validé, par sécurité il est préférable d'effacer le ou les .key pour ne garder que le pfx.

Téléchargement(s)

NomSite Web d origineDescription
openssl_V0.9.8d_for_Windo... OpenSSL pour Windows