
Certificat SSL
Générer un certificat SSL autosigné ou signé avec un CA avec un Subject Alt Name ( SAN )
Création de la clé privée:
sudo openssl genrsa -out example.key 2048
Créer un ficher de conf avec l'option subjectAltName qui contiendra le common name du service ainsi que l'ip
vi template.conf
[ req ]
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
CN = testweb.domain.tld
emailAddress = [email protected]
O = Organisation
OU = FIKARA
L = PARIS
ST = PARIS
C = FR
[ req_ext ]
subjectAltName = DNS:testweb.domain.tld, IP: ip_du_serveur_web_correspondant
Pour que cela fonctionne correctement, le nom de domaine testweb.domain.tld doit résoudre vers l'adresse IP ip_du_serveur_web_correspondant
Création du signature request:
sudo openssl req -new -config template.conf -key example.key -out testwebsign.csr
Signature
Pour signer la CSR et générer un certificat auto-signé :
sudo openssl x509 -req -in testwebsign.csr -signkey /etc/ssl/private/example.key -out /etc/ssl/certs/testwebsign.crt -days 365 -extensions req_ext -extfile template.conf
Si vous avez une autorité de certification (CA), utilisez-la pour signer la CSR :
sudo openssl x509 -req -in testwebsign.csr -CA myCA.crt -CAkey myCA.key -CAcreateserial -out testwebcert.crt -days 365 -sha256 -extfile template.conf -extensions req_ext
myCA.crt représente le certificat de l'autorité de certification.
Si vous avez déjà configuré une CA sur un serveur, le certificat de la CA devrait se trouver à un emplacement spécifique (souvent dans /etc/ssl/certs/
ou /etc/pki/CA/
) et la clée privée associée dans /etc/ssl/private/
. Vous pouvez le vérifier avec ces commandes : ls /etc/ssl/certs/myCA.crt
et ls /etc/ssl/private/myCA.key
Remplacez myCA.crt
par le nom du fichier de certificat de votre CA myCA.key
par le nom du fichier de clée privée de votre CA
Installer le certificat
Copier le certificat signé et la clé privée dans les répertoires appropriés :
sudo cp testwebcert.crt /etc/ssl/certs/
sudo cp /etc/ssl/private/example.key /etc/ssl/private/
sudo chmod 600 /etc/ssl/private/example.key
Si vous utilisez un ADCS ( Rôle de certificat sur Active Directory ), vous pouvez générer votre certificat ( .cer, .crt , .pfx ) avec "certsrv.msc" : vous importerez la demande de signature .csr et choisirez comme modèle de certificat " Serveur Web " ou un autre basé sur un server web
Configurer le serveur pour utiliser le certificat
Configurer votre serveur web pour utiliser le certificat. Par exemple, dans Nginx :
server {
listen 443 ssl;
server_name testweb.domain.tld;
ssl_certificate /etc/ssl/certs/testwebsign.crt;
ssl_certificate_key /etc/ssl/private/example.key;
# Autres configurations...
}
Tester le certificat
Enfin, testez le certificat en accédant à https://testweb.domain.tld
dans votre navigateur.
Last updated
Was this helpful?