Encore une questions certificat SSL HTTPS

Bonjour,

J’ai un peu regardé les differents sujets qui en parlent mais il est souvent (toujours?) question de Let’s Encrypt et je ne sais pas si ça s’applique à mon cas.

Pour le nom de domaine de ma box j’ai pris un abonnement chez no.ip qui me permet donc d’avoir un nom de domaine dynamique sans se prendre la tête avec un renouvellement mensuel.
Il se trouve que pour chaque abonnement, ils « offrent » un certificat SSL

« 1 Trustcor Standard DV SSL Certificate Now Included for Free for all DDNS Accounts »

Je me dis que ça tombe plutôt bien. Mais vu que j’y connais rien en serveur web ça m’avance pas beaucoup plus.

Déjà au moment de commander le certificat il faut préciser le type de serveur et il y a toute une liste de choix possibles.
Il me semble avoir vu que Jeedom (sur Raspberry Pi) tourne avec Apache, mais rien que là, il y a plusieurs choix :
Apache2
Apache + ApacheSSL
Apache + OpenSSL
Apache + Raven
Apache + MOD SSL
Apache + SSLeay

Quelle options choisir ? et faut-il installer des composants logiciel supplémentaires ?
Il me demande aussi mon CSR, j’ai vu que c’est un fichier généré par le serveur servant à la création du certificat SSL, mais après comment ça se génère ?

Merci d’avance !

1 « J'aime »

Bonjour,

Voici dans le fichier la solution que j’utilise pour mon certificat.
Install SSL on Apache2.pdf (67,8 Ko)
Les puristes te diront que mes méthodes sont anciennes mais elles fonctionnent toujours.

Ci-dessous, des commandes pour la gestion des certificats avec openssl.
C’est le dernier item qui t’intéresse

OpenSSL commands to check and verify your SSL certificate, key and CSR
======================================================================
Description
-----------
It can be useful to check a certificate and key before applying them to your server. 
The following commands help verify the certificate, key, and CSR (Certificate Signing Request).


Check a certificate
-------------------
Check a certificate and return information about it (signing authority, expiration date, etc.):

openssl x509 -in server.crt -text -noout

Check a key
-----------
Check the SSL key and verify the consistency:

openssl rsa -in server.key -check

Check a CSR
-----------
Verify the CSR and print CSR data filled in when generating the CSR:

openssl req -text -noout -verify -in server.csr

Verify a certificate and key matches
------------------------------------
These two commands print out md5 checksums of the certificate and key; the checksums can be 
compared to verify that the certificate and key match.

openssl x509 -noout -modulus -in server.crt| openssl md5
openssl rsa -noout -modulus -in server.key| openssl md5





To generate csr and private key for a ssl site
----------------------------------------------
openssl req -newkey rsa:4096 -keyout mycert.key -out mycert.csr -nodes

apprently, add -nodes to have private key not protected by passphrase.

Il faut choisir la version Apache2. A priori ça fait une dizaine d’années qu’il est sorti, le Apache (à priori 1) + module x ou y, c’est plutôt ancien…
Je suppose que le site te propose directement de télécharger un fichier à installer dans ton serveur Apache? Rien d’autre que le fichier à installer pas de ligne de commande ça parait une bonne solution :slight_smile:

Merci,
Je vais donc essayer en choisissant Apache2;
Oui le site semble proposer un simple fichier à installer sur le serveur, dans le dossier qui va bien.
Il faut juste générer / récupérer le fichier CSR a priori.

Si j’y arrive je vous tiendrais au courant de la procédure… sinon ben je reviendrais sans doute pour d’autres questions !

Donc on dirait que j’ai réussit.

Comme promis voici la procédure suivie :

  • Connexion sur le serveur jeedom en ssh
  • passage en root sudo su -
  • se placer dans le dossier /etc/apache2
  • commande pour créer les fichiers CSR et KEY : openssl req -newkey rsa:4096 -keyout mycert.key -out mycert.csr -nodes plusieurs infos sont demandé (code pays, région, etc… pour savoir quoi mettre il y a des exemples sur le net)
  • ouverture du fichier .csr (avec nano) et copier son contenu (y compris « -----BEGIN CERTIFICATE REQUEST----- » et « -----END CERTIFICATE REQUEST----- »)
  • Sur le site no.ip il faut donc bien choisir « Apache2 » et copier le contenu du fichier csr préalablement copié dans le champs prévu à cet effet.
  • Le site demande des informations supplémentaire sur le propriétaire du domaine, puis fournit un texte pour faire valider le domaine si c’est un domaine externe qui est utilisé. Dans mon cas comme ça concerne un domaine dynamique en ddns de leur site, la validation est « automatique » il n’y a rien a faire sauf attendre un peu.
  • Une fois le domaine validé, le certificat est disponible en téléchargement sur le site (il est valable 1 an) plusieurs formats sont disponible, j’ai choisit le pem-chain
  • Ensuite j’ai suivit la procedure indiqué par henribi il y juste 2 choses à rectifier… si on passe par jeedom pour le téléchargement du fichier alors il se trouve dans « /var/www/html/ » (et non pas dans « /home/jeedom ») et puis je pense qu’il y’a une erreur entre sites-available et sites-enabled : c’est dit de copier « sites-available/000-default.conf » vers « sites-enabled/000-default-ssl.conf » jusqu’a là ok… sauf qu’après il est question de créer un liens symbolique du fichier « 000-default-ssl.conf » dans « sites-enabled », sauf que c’est refusé puisque le fichier est déjà dans « sites-enabled », donc j’ai deplacé dans « sites-avialable » et créer le liens symbolique dans « sites-enabled » comme demandé.
    A la fin quand on fait « apachectl configtest » il dit qu’il n’y a pas de nom de domaine de configuré pour le serveur (ce qui est vrai) mais ça ne semble pas être génant car j’ai rien fait mais ça fonctionne.

J’arrive bien à me connecter à mon jeedom en https et quand on demande au navigateur d’afficher les infos sur le certificats on retrouve bien des infos qui semblent cohérentes avec ce qui est indiqué sur le site no.ip (mais j’ai trouvé aucune info perso a mon sujet donc ça reste anonyme)

2 « J'aime »

Merci pour ce tuto détaillé :slight_smile:

Du coup… je suppose qu’il faut refaire toute cette procédure chaque année pour le renouvellement ? Je comprends mieux pourquoi on cherche à tout prix à automatiser la génération des certificats !