This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
dev:configuration_des_certificats_ssl [2020/01/10 09:45] rdaulie created |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Connectez-vous sous root et allez dans le répertoire de configuration de votre serveur Apache2 / | ||
- | Création du certificat serveur | ||
- | Génération de la clé privée | ||
- | |||
- | On génère la clef privée avec la commande suivante en définissant un nom de fichier : | ||
- | <code bash> | ||
- | openssl genrsa 1024 > servwiki.key | ||
- | </ | ||
- | La sortie attendue est la suivante : | ||
- | <code bash> | ||
- | Generating RSA private key, 1024 bit long modulus | ||
- | | ||
- | | ||
- | e is 65537 (0x10001) | ||
- | </ | ||
- | |||
- | Si vous souhaitez que cette clé ait un mot de passe (qui vous sera demandé à chaque démarrage d' | ||
- | |||
- | Ceci a pour effet de créer une clé SSL (fichier servwiki.key), | ||
- | |||
- | Vous pouvez observer son contenu : less servwiki.key | ||
- | |||
- | <code bash> | ||
- | -----BEGIN RSA PRIVATE KEY----- | ||
- | MIICXgIBAAKBgQDQG9wvnuLC4aqzaJCAWGA1AxFzg00hjPObhq1mukzsGyuuWBFG | ||
- | vj/ | ||
- | 8w/ | ||
- | AoGAHi0cBW+1k+qjFPbBlUq7UJSMUEKmyYmlvVSPCklTZB0gfVxZzPdDTpEcNks/ | ||
- | yo+rLFSD9Vsvy/ | ||
- | ZCf0CAs6wBft3yLU31Qc4WqVM2vTyUH76jebVhxEw8k63OUCQQD/ | ||
- | ZTPFbzUeAE5rQqqOW4aoMNvM61Yn/ | ||
- | g1okfogTAkEA0D7pDf/ | ||
- | FZbjHJ4UcYyYaA8jIrkY+FIJM88YlGbWXwJBAILEdvJ5R/ | ||
- | En8fw43XI5L0PB7Hxx6KDLVu4XzVYQyahTZBdqR0eMlUNZJBhJE2tO3wi2cCQQCp | ||
- | JkCFd3es0BrNxqfzlThozRFofcz88za7TldydL0YcFtC4Sb4vWsYizwktZ6jcPEm | ||
- | rQz8Gl9W7MO+ynwLptB/ | ||
- | 2LImp/ | ||
- | -----END RSA PRIVATE KEY----- | ||
- | </ | ||
- | |||
- | Protégez votre fichier en faisant : chmod 400 servwiki.key | ||
- | |||
- | De multiples autres options sont possibles mais il est inutile d' | ||
- | |||
- | A partir de votre clé, vous allez maintenant créer un fichier de demande de signature de certificat (CSR Certificate Signing Request). | ||
- | |||
- | On génère la demande de certificat avec la commande suivante : | ||
- | |||
- | <code bash> | ||
- | openssl req -new -key servwiki.key > servwiki.csr | ||
- | </ | ||
- | |||
- | Le système va vous demander de saisir des champs ; remplissez-les en adaptant sauf le champ " | ||
- | <code bash> | ||
- | Country Name (2 letter code) [AU]:FR | ||
- | State or Province Name (full name) [Some-State]: | ||
- | Locality Name (eg, city) []:Ajaccio | ||
- | Organization Name (eg, company) [Internet Widgits Pty Ltd]:LLB | ||
- | Organizational Unit Name (eg, section) []:BTSINFO | ||
- | Common Name (eg, YOUR name) []: | ||
- | Email Address []: | ||
- | </ | ||
- | |||
- | Ce n'est pas la peine de saisir d' | ||
- | |||
- | Ceci a pour effet de créer le formulaire de demande de certificat (fichier servwiki.csr) à partir de notre clé privée préalablement créée. | ||
- | |||
- | Ce fichier contient la clé publique à certifier. Un less servwiki.csr nous donne : | ||
- | <code bash> | ||
- | -----BEGIN CERTIFICATE REQUEST----- | ||
- | MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCRlIxFTATBgNVBAgTDENvcnNlIGR1IFN1 | ||
- | ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExCMREwDwYDVQQLEwhCVFMg | ||
- | SU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZvLmZyMIGfMA0GCSqGSIb3DQEBAQUA | ||
- | A4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12kSbN/ | ||
- | f55dD1hSndlOM/ | ||
- | vo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLWwc0BzEgFZGGw7wiMF6wt5QIDAQAB | ||
- | oAAwDQYJKoZIhvcNAQEEBQADgYEAwwI4UvkfhBvyRrUXtjrLfZXLxZlF9o+URmHJ | ||
- | ysvrLKfesVBEzdA9mqk1OwIwLfe8Fw2fhip2LGqvcCPxDMoIE/ | ||
- | DMuy69lPTEB6UtpVKO/ | ||
- | 4H8qZuk= | ||
- | -----END CERTIFICATE REQUEST----- | ||
- | </ | ||
- | |||
- | Maintenant, deux choix s' | ||
- | |||
- | * envoyer le fichier servwiki.csr à un organisme (le tiers de confiance ou l' | ||
- | |||
- | * ou bien signer vous-même le certificat. | ||
- | |||
- | Ce dernier choix a notre préférence... | ||
- | Création du certificat de l' | ||
- | |||
- | Pour signer un certificat, vous devez devenir votre propre autorité de certification, | ||
- | |||
- | La création de la clé privée de l' | ||
- | <code bash> | ||
- | openssl genrsa -des3 1024 > ca.key | ||
- | </ | ||
- | Ce qui a pour effet de créer la clé privée de l' | ||
- | |||
- | Ensuite, à partir de la clé privée, on crée un certificat x509 pour une durée de validité d'un an auto-signé : | ||
- | |||
- | <code bash> | ||
- | openssl req -new -x509 -days 365 -key ca.key > ca.crt | ||
- | </ | ||
- | |||
- | Il faut saisir la passphrase... puisqu' | ||
- | |||
- | Attention : le nom de " | ||
- | <code bash> | ||
- | Country Name (2 letter code) [AU]:FR | ||
- | State or Province Name (full name) [Some-State]: | ||
- | Locality Name (eg, city) []:Ajaccio | ||
- | Organization Name (eg, company) [Internet Widgits Pty Ltd]:LLB | ||
- | Organizational Unit Name (eg, section) []:BTSINFO | ||
- | Common Name (eg, YOUR name) []:cert_CA | ||
- | Email Address []: | ||
- | </ | ||
- | C'est notre certificat d' | ||
- | La signature du certificat serveur par le CA (Certificate Autority) | ||
- | |||
- | La commande qui signe la demande de certificat est la suivante : | ||
- | <code bash> | ||
- | openssl x509 -req -in servwiki.csr -out servwiki.crt -CA ca.crt -CAkey ca.key\ | ||
- | -CAcreateserial -CAserial ca.srl | ||
- | </ | ||
- | L' | ||
- | |||
- | Il faut saisir la passphrase... | ||
- | |||
- | Le certificat signé est le fichier " | ||
- | <code bash> | ||
- | Signature ok | ||
- | subject=/ | ||
- | Getting CA Private Key | ||
- | Enter pass phrase for ca.key: | ||
- | </ | ||
- | Vous avez maintenant un certificat pour votre serveur se nommant servwiki.crt. | ||
- | <code bash> | ||
- | less servwiki.crt | ||
- | </ | ||
- | <code bash> | ||
- | -----BEGIN CERTIFICATE----- | ||
- | MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV | ||
- | BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC | ||
- | MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy | ||
- | MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx | ||
- | FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE | ||
- | ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv | ||
- | LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12 | ||
- | kSbN/ | ||
- | BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW | ||
- | wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf | ||
- | pqdYtfvmLnA7CiEuao60i/ | ||
- | kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP | ||
- | 9t/ | ||
- | -----END CERTIFICATE----- | ||
- | </ | ||
- | Il faut maintenant installer le certificat de l' | ||
- | Installation du certificat d' | ||
- | |||
- | Pour installer sur votre navigateur le certificat de l' | ||
- | |||
- | * " | ||
- | |||
- | * Sous Windows, un clic droit ou double-clic sur le fichier devrait vous permettre de lancer l' | ||
- | |||
- | * sur Mozilla : | ||
- | | ||
- | ---- Edition/ | ||
- | ---- Bouton de commande : gestion des certificats | ||
- | ---- Onglet : autorité | ||
- | ---- Bouton de commande : importer | ||
- | ---- etc... | ||
- | |||
- | Il ne reste plus maintenant qu'à configurer apache2. |