Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:securite:manip_certificat_ssl [2019/03/12 14:10] – [Version complète] bn8 | informatique:securite:manip_certificat_ssl [2025/01/10 08:53] (Version actuelle) – [Activation du SSL sur un VirtualHost] bn8 | ||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
< | < | ||
- | === Génération d'un CSR multi-domaine === | + | <note tip>Pour voir les informations dans un fichier CSR, utiliser la commande suivante : <code bash> |
+ | |||
+ | ==== Génération d'un CSR multi-domaine | ||
Pour un certificat multi-domaine, | Pour un certificat multi-domaine, | ||
Ligne 62: | Ligne 64: | ||
==== Vérifier la concordance d'une clé, d'un CSR et d'un certificat ==== | ==== Vérifier la concordance d'une clé, d'un CSR et d'un certificat ==== | ||
- | <code bash> | + | * clé privée : <code bash> |
- | ~# openssl rsa -noout -modulus -in server.key |openssl md5 | + | * CSR : <code bash>openssl req -noout -modulus -in server.csr |openssl md5</ |
- | XXXXXXXXXXXXXXXXXXXXXcfbf186e13f | + | * certificat : <code bash>openssl x509 -noout -modulus -in server.crt |openssl md5</ |
- | ~# openssl req -noout -modulus -in server.csr |openssl md5 | + | |
- | XXXXXXXXXXXXXXXXXXXXXcfbf186e13f | + | |
- | ~# openssl x509 -noout -modulus -in server.crt |openssl md5 | + | |
- | XXXXXXXXXXXXXXXXXXXXXcfbf186e13f | + | |
- | </ | + | |
===== Génération d'un certificat SSL auto-signé ===== | ===== Génération d'un certificat SSL auto-signé ===== | ||
Ligne 75: | Ligne 72: | ||
<note important> | <note important> | ||
- | Nous commençons par générer la bi-clé RSA, qui peut être protégée par une passphrase. | + | Pour faciliter la suite, déclarons une variable d' |
- | <code bash> | + | Générerons ensuite la clé //RSA// : <code bash> |
+ | chown root: | ||
+ | chmod 640 / | ||
- | Nous générons | + | Générons |
+ | chmod 644 / | ||
- | Dans les questions posées, il faut faire attention au champ Common Name (eg, YOUR name) : Il faut mettre le nom du serveur (FQDN). | + | Dans les questions posées, il faut faire attention au champ Common Name (eg, YOUR name) : Il faut mettre le nom du serveur (FQDN). |
- | + | ||
- | * -x509 : génération d'un certificat autosigné, et non d'une simple requête | + | |
- | * -days 365 : le certificat est valable 365 jours | + | |
- | * -key server.key : la clé publique est extraite de la bi-clé précédente | + | |
- | * -out server.crt : le certificat est copié | + | |
- | + | ||
- | Le certificat n'est pas signé par une autorité de certification (type verisign). Ainsi, lors de son utilisation, | + | |
- | + | ||
- | **Pour vérifier le bon usage du certificat :** <code bash> | + | |
+ | **Paramètres :** | ||
+ | * **'' | ||
+ | * **'' | ||
===== Voir les informations contenues dans un certificat SSL ===== | ===== Voir les informations contenues dans un certificat SSL ===== | ||
Ligne 105: | Ligne 99: | ||
===== Extraire les certificats d'un fichier PFX ===== | ===== Extraire les certificats d'un fichier PFX ===== | ||
+ | * clé privée : <code bash> | ||
+ | * certificat : <code bash> | ||
- | <code bash>openssl pkcs12 | + | <note tip>Si vous rencontrez une erreur du type de celle ci-dessous, ajouter le paramètre '' |
- | openssl | + | |
===== Utilisation d'un certificat SSL par Apache ===== | ===== Utilisation d'un certificat SSL par Apache ===== | ||
Ligne 116: | Ligne 110: | ||
==== Configuration générale du module SSL d' | ==== Configuration générale du module SSL d' | ||
- | Créer le fichier / | + | Créer le fichier |
<code apache> | <code apache> | ||
- | | + | < |
- | SSLCertificateFile | + | SSLCertificateFile |
- | SSLCertificateKeyFile / | + | SSLCertificateKeyFile / |
- | </ | + | </ |
</ | </ | ||
- | ou : | + | ou avec un seul fichier contenant la clé et le certificat |
<code apache> | <code apache> | ||
- | | + | < |
- | SSLCertificateKeyFile /etc/apache2/ | + | SSLCertificateKeyFile /etc/ssl/private/ |
- | </ | + | </ |
</ | </ | ||
- | **NB :** un fichier | + | <note tip>Pour créé le fichier |
+ | <code bash>cat / | ||
+ | </ | ||
- | <code bash>cat server.key > apache.pem | + | Puis activer ce fichier de configuration : <code bash>a2enconf ssl |
- | cat server.crt >> apache.pem</ | + | service apache2 restart</ |
- | **NB2 :** dans le cas de l' | + | <note tip> |
==== Activation du module SSL ==== | ==== Activation du module SSL ==== | ||
Ligne 154: | Ligne 150: | ||
</ | </ | ||
+ | ===== Utilisation d'un certificat SSL par OpenSSL ===== | ||
+ | |||
+ | * Ajouter l' | ||
+ | * Redémarrer OpenLDAP : <code bash> | ||
+ | * Créer une version // | ||
+ | * Ajuster les droits du certificat et de la clé : <code bash> | ||
+ | chmod 644 / | ||
+ | chmod 640 / | ||
+ | </ | ||
+ | * Configurer le certificat et la clé via les attributs '' | ||
+ | ldapmodify -Y EXTERNAL -H ldapi:/// << EOF | ||
+ | dn: cn=config | ||
+ | changetype: modify | ||
+ | add: olcTLSCertificateFile | ||
+ | olcTLSCertificateFile: | ||
+ | - | ||
+ | add: olcTLSCertificateKeyFile | ||
+ | olcTLSCertificateKeyFile: | ||
+ | EOF | ||
+ | * Ajouter '' | ||
+ | * Redémarrer OpenLDAP : <code bash> | ||
===== Lister les ciphers supporté par un serveur ===== | ===== Lister les ciphers supporté par un serveur ===== | ||