##

Obtention d’un certificat SSL

####

Application : Serveur Web

Rappel : l’exécution de Certbot est indépendante de la plateforme hôte.

Pré-requis : la procédure va générer des requêtes HTTP par Let’sEncrypt sur le serveur Web hôte. Il est donc nécessaire que celui-ci soit démarré, avec, impérativement, le protocole HTTP activé sur le port 80 et le protocole HTTPS activé sur le port 443. Les requêtes Let’sEncrypt, de la forme « /.well-known/acme-challenge/… », doivent être acceptées par la procédure d’authentification du serveur Web Hôte. Enfin un dossier 'renewSSL' doit exister au niveau du dossier racine du serveur Web.

L’obtention du certificat nécessite que l’application Cerbot soit préalablement installée . Elle se fait dans une fenêtre du terminal par la ligne de commande :

sudo certbot certonly --webroot

A la première utilisation, la commande va initialiser une série de questions, concernant la fourniture d'une adresse eMail et l'acception des termes du contrat.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator webroot, Installer None

Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):

Saisir l’adresse du site contact@ainsilavie.fr . Cette adresse sera utilisée pour les différentes notifications de LetsEncrypt (renouvellement, révocation…).

Puis accepter les Termes du Contrat en utilisant la touche A :

----------------------------------------

Please read the Terms of Service at

https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at

https://acme-v02.api.letsencrypt.org/directory

----------------------------------------

(A)gree/(C)ancel:

Puis accepter avec la touche Y la réception d’information de l’EFF par eMails.

L’étape suivante est la saisie du nom du domaine à certifier :

Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel):

Saisir srv-sourderie.ainsilavie.fr .

Le message en retour demande de saisir le chemin du dossier racine de l’application 4D en cours de fonctionnement :

Obtaining a new certificate

Performing the following challenges:

http-01 challenge for srv-sourderie.ainsilavie.fr

ou

Renewing an existing certificate for srv-sourderie.ainsilavie.fr

Puis

Input the webroot for srv-sourderie.ainsilavie.fr : (Enter 'c' to cancel):

Saisir le chemin /Users/philippe/ALV_Serveurs/ALV_Serveur_APP.app/Contents/Server Database/WebFolder/ . La réponse doit être un message du type :

Waiting for verification...

Cleaning up challenges

IMPORTANT NOTES:

- Congratulations! Your certificate and chain have been saved at:

/etc/letsencrypt/live/srv-sourderie.ainsilavie.fr/fullchain.pem

Your key file has been saved at:

/etc/letsencrypt/live/srv-sourderie.ainsilavie.fr/privkey.pem

Your cert will expire on 2022-09-09. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate

Donating to EFF: https://eff.org/donate-le

ou

Successfully received certificate.

La dernière étape consiste à recopier les fichiers « privkey.pem » et « fullchain.pem » dans le dossier du projet 4D. Pour cela utiliser dans une fenêtre du terminal les 2 lignes de commande suivantes :

sudo cp /etc/letsencrypt/live/srv-sourderie.ainsilavie.fr/fullchain.pem /Users/philippe/ALV_Serveurs/renewSSL/cert.pem

sudo cp /etc/letsencrypt/live/srv-sourderie.ainsilavie.fr/privkey.pem /Users/philippe/ALV_Serveurs/renewSSL/key.pem

Pour prendre en compte le certificat SSL, arrêter le serveur Web, copier les fichiers .pem et .key dans le dossier 'SSL/Certificat_LetsEncrypt' des ressources de l'application, lancer l'installation des certificats SSL sur le serveur APP, restaurer la valeur des ports HTTP et HTTPS, puis redémarrer le serveur Web.

En cas de souci, vérifier que :

- Le dossier "/private/etc/letsencrypt" est en ‘lecture/écriture’,
- Le dossier "/usr/local/Cellar" est en ‘lecture/écriture’,
- "Little Snitch" autorise ‘Terminal via curl’ et ‘Terminal via python’.

Rappel : la commande Pomme + Maj + Point affiche les fichiers invisibles.