Skip to content

Documentation Générique: Extraction et Renouvellement de Certificats SSL sur Système UNIX


Extraction d'un certificat à partir d'un fichier PFX

1. Extraction du certificat depuis un fichier PFX

Pour extraire le certificat au format .crt à partir d'un fichier PFX, exécutez la commande suivante :

sudo openssl pkcs12 -in <DOMAIN.TLD>.pfx -nokeys -out <DOMAIN.TLD>.crt -nodes

2. Extraction de la clé privée depuis un fichier PFX

Pour extraire la clé privée au format .key à partir du fichier PFX, utilisez cette commande :

sudo openssl pkcs12 -in <DOMAIN.TLD>.pfx -nocerts -out <DOMAIN.TLD>.key -nodes

Remarque : Vous devrez fournir le mot de passe du fichier PFX pour l'extraction.

3. Vérification de la compatibilité entre le certificat et la clé

Assurez-vous que le certificat et la clé privée sont compatibles en comparant leurs modulus :

  • Vérifiez le modulus de la clé privée :
sudo openssl rsa -noout -modulus -in <DOMAIN.TLD>.key
  • Vérifiez le modulus du certificat :
sudo openssl x509 -noout -modulus -in <DOMAIN.TLD>.crt

Exemple de sortie :

sudo openssl x509 -noout -modulus -in /etc/ssl/certs/<DOMAIN.TLD>.crt
Modulus=C01F8E3C7E7B...
sudo openssl rsa -noout -modulus -in /etc/ssl/certs/<DOMAIN.TLD>.key
Modulus=C01F8E3C7E7B...

Les modulus doivent être identiques pour garantir la compatibilité.

4. Vérification du service écoutant sur le port 443

Pour vérifier quel service écoute sur le port 443, utilisez la commande suivante :

sudo ss -plunt | grep 443

Exemple de sortie :

tcp LISTEN 0 128 0.0.0.0:443 0.0.0.0:* users:(("httpd",pid=12345,fd=7))

Cela permet d’identifier si Apache, Nginx ou un autre service est configuré pour écouter sur ce port.


Renouvellement du certificat SSL pour un service Apache

1. Identifier où est configuré le site

Pour localiser la configuration du site dans Apache, recherchez le nom de domaine dans les fichiers de configuration :

sudo grep -Rl <DOMAIN.TLD> /etc/httpd/sites-enabled/

2. Identifier l'emplacement des certificats

Ouvrez le fichier de configuration du site identifié et recherchez le bloc <VirtualHost _default_:443> pour trouver les chemins des certificats :

sudo cat /etc/httpd/sites-enabled/<DOMAIN.TLD>.conf

Exemple de configuration :

<VirtualHost _default_:443>
    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/<DOMAIN.TLD>.crt
    SSLCertificateKeyFile /etc/ssl/certs/<DOMAIN.TLD>.key
</VirtualHost>

3. Vérification de la syntaxe Apache

Avant de redémarrer Apache, vérifiez la syntaxe de la configuration :

sudo httpd -t

Exemple de sortie :

Syntax OK

4. Redémarrer le service Apache

Redémarrez Apache pour appliquer les modifications :

sudo systemctl restart httpd

Renouvellement du certificat SSL pour un service Nginx

1. Identifier où est configuré le site

Pour localiser la configuration du site dans Nginx, recherchez le nom de domaine dans les fichiers de configuration :

sudo grep -Rl <DOMAIN.TLD> /etc/nginx/sites-enabled/

2. Identifier l'emplacement des certificats

Ouvrez le fichier de configuration du site pour trouver les certificats dans le bloc server écoutant sur le port 443 :

sudo cat /etc/nginx/sites-enabled/<DOMAIN.TLD>.conf

Exemple de configuration :

server {
    listen 443 ssl;
    server_name <DOMAIN.TLD>;

    ssl_certificate /etc/ssl/certs/<DOMAIN.TLD>.crt;
    ssl_certificate_key /etc/ssl/certs/<DOMAIN.TLD>.key;
}

3. Vérification de la syntaxe Nginx

Vérifiez la syntaxe de la configuration avant de redémarrer Nginx :

sudo nginx -t

Exemple de sortie :

nginx: configuration file /etc/nginx/nginx.conf test is successful

4. Redémarrer le service Nginx

Redémarrez Nginx pour appliquer les modifications :

sudo systemctl restart nginx

Conclusion

Cette documentation décrit les étapes pour extraire des certificats et clés à partir d'un fichier PFX, ainsi que les procédures pour renouveler et configurer des certificats SSL sur des serveurs Apache et Nginx. Assurez-vous toujours de vérifier la compatibilité entre les certificats et les clés privées, ainsi que la syntaxe des configurations avant de redémarrer les services.