From 2773b9c57a87e9335ffc18eb531ac0942aadeee5 Mon Sep 17 00:00:00 2001 From: "maniack_crudelis@yahoo.fr" Date: Fri, 12 Sep 2014 13:35:01 +0200 Subject: [PATCH] Update certificate_fr.md --- certificate_fr.md | 110 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/certificate_fr.md b/certificate_fr.md index 0b0b4697..fdecdb5e 100644 --- a/certificate_fr.md +++ b/certificate_fr.md @@ -6,4 +6,112 @@ YunoHost fournit un certificat auto-signé. Sur les clients comme les navigateurs web, les clients lourd de courrier électronique, les clients lourd XMPP il faudra ajouter une exception pour ce certificat auto-signé. -On peut obtenir un certificat signé par une autorité. \ No newline at end of file +On peut obtenir un certificat signé par une autorité. +Dans ce cas, il sera nécessaire de remplacer le certificat auto-signé par celui qui a été reconnu par une autorité de certification. + +### Ajout d'un certificat signé par une autorité + +Après création du certificat auprès de votre autorité d'enregistrement, vous devez être en possession d'une clé privée, le fichier key et d'un certificat public, le fichier crt. +> Attention, le fichier key est très sensible, il est strictement personnel et doit être très bien sécurisé. + +Ces 2 fichiers doivent être copiés sur le serveur, si ils ne s'y trouvent pas déjà. + +```bash +scp -P 22 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt +scp -P 22 CLE.key admin@DOMAIN.TLD:ssl.key +``` + +Depuis Windows, scp est exploitable avec putty, en téléchargeant l'outil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe) + +```bash +pscp -P 22 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt +pscp -P 22 CLE.key admin@DOMAIN.TLD:ssl.key``` + +Dés lors que les fichiers sont sur le serveur, le reste du travail se fera sur celui-ci. En [ssh](https://yunohost.org/#/ssh_fr) ou en local. + +Tout d'abord, créez un dossier pour stocker les certificats obtenus. + +```bash +sudo mkdir /etc/yunohost/certs/DOMAIN.TLD/ae_certs +sudo mv ssl.key ssl.crt /etc/yunohost/certs/DOMAIN.TLD/ae_certs/``` + +Puis allez dans le dossier parent pour poursuivre. + +```bash +cd /etc/yunohost/certs/DOMAIN.TLD/``` + +Faites une sauvegarde des certificats d'origine de yunohost, par précaution. + +```bash +sudo mkdir yunohost_self_signed +sudo mv *.pem *.cnf yunohost_self_signed/``` + +En fonction de l'autorité d'enregistrement, des certificats intermédiaire et racine doivent être obtenu. + +> **StartSSL** +> ```bash +> sudo wget http://www.startssl.com/certs/ca.pem -O ae_certs/ca.pem +> sudo wget http://www.startssl.com/certs/sub.class1.server.ca.pem -O ae_certs/intermediate_ca.pem``` + +> **Gandi** +> ```bash +> sudo wget https://www.gandi.net/static/CAs/GandiStandardSSLCA.pem -O ae_certs/intermediate_ca.pem``` + +> **RapidSSL** +> ```bash +> sudo wget https://knowledge.rapidssl.com/library/VERISIGN/INTERNATIONAL_AFFILIATES/RapidSSL/AR1548/RapidSSLCABundle.txt -O ae_certs/intermediate_ca.pem``` + +Les certificats intermédiaire et root doivent être réuni avec le certificat obtenu pour créer une chaine de certificats unifiés. + +En cas d'utilisation d'un certificat racine (StartSSL): + +```bash +cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem``` + +En cas d'utilisation du certificat intermédiaire seulement. + +```bash +cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem | sudo tee crt.pem``` + +La clé privée doit être, elle, convertie au format pem. + +```bash +sudo openssl rsa -in ae_certs/ssl.key -out key.pem -outform PEM``` + +Afin de s'assurer de la syntaxe des certificats, vérifiez le contenu des fichiers. + +```bash +cat crt.pem key.pem``` + +Les certificats et la clé privée doivent ressembler à cela: + +`-----BEGIN CERTIFICATE-----` +`MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV` +`BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC` +`MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy` +`MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx` +`FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE` +`ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv` +`LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12` +`kSbN/NWP0QUiPlksOkF2NkPfwW/mf55dD1hSndlOM/5kLbSBo5ieE3TgikF0Iktj` +`BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW` +`wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf` +`pqdYtfvmLnA7CiEuao60i/pzVJE2LIXXXbwYjNAM+7Lov+dFT+b5FcOUGqLymSG3` +`kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP` +`9t/rrbdGzXXOCl3up99naL5XAzCIp6r5` +`-----END CERTIFICATE-----` + +Enfin, sécurisez les fichiers de votre certificat. + +```bash +sudo chown root:metronome crt.pem key.pem +sudo chmod 640 crt.pem key.pem +sudo chown root:root -R ae_certs +sudo chmod 600 -R ae_certs``` + +Rechargez la configuration de nginx pour prendre en compte le nouveau certificat. +```bash +sudo /etc/init.d/nginx reload``` + + +Votre certificat est prêt à servir. Vous pouvez toutefois vous assurez de sa mise en place en testant le certificat à l'aide du service de geocerts.