Problème de certificat Let's Encrypt sur les appareils anciens

30 sept. 2021 14:01:15 GMT expiration du certificat racine IdenTrust DST Root CA X3

Let's Encrypt est une autorité de certification à but non lucratif qui fournit des certificats X.509 gratuits pour le chiffrement TLS via un processus automatisé, conçu pour remplacer le processus complexe actuel de création, vérification, signature, installation et renouvellement manuel des certificats pour les sites web sécurisés.

Suite à l'expiration du certificat racine DST Root CA X3, les appareils obsolètes n'ayant pas reçu de mises à jour depuis longtemps et ne prenant pas en charge le nouveau certificat racine ISRG Root X1 ne font plus confiance à l'ancien certificat. Lors de la visite de sites utilisant des certificats Let's Encrypt, ils affichent des avertissements ou ne peuvent pas établir de connexion sécurisée.

Sont considérés comme obsolètes les appareils et systèmes d'exploitation de plus de 5 ans, notamment :

  • Windows XP jusqu'au SP3 (ainsi que SP3 et Windows 7 si les certificats racines n'ont pas été renouvelés automatiquement).
  • macOS antérieur à 10.12.1.
  • iOS jusqu'à la version 10.
  • Android jusqu'à la version 2.3.6 (l'accès aux services peut toutefois rester possible en raison des particularités de la vérification des certificats racines ; les versions antérieures à 7.1.1 ne prendront plus en charge le certificat à partir de 2024).
  • Ubuntu antérieur à 16.04.
  • Debian antérieur à 8.
  • Sony PlayStation 3 et 4 avec un firmware antérieur à 5.00.
  • Anciens téléviseurs connectés et appareils domotiques.
  • Appareils utilisant OpenSSL version 1.0.x.

La meilleure solution consiste à mettre à jour les logiciels vers leurs dernières versions, qui incluent déjà la prise en charge du nouveau certificat racine. Il convient de prendre des mesures uniquement si c'est réellement nécessaire — par exemple, si une part significative de votre audience utilise des logiciels obsolètes et qu'elle est critique pour le projet.

Du côté client, vous pouvez :

  • Installer manuellement le certificat racine ISRG Root X1 s'il n'est pas présent dans le magasin de certificats du système ou du logiciel utilisé.
  • Supprimer le certificat racine obsolète DST Root CA X3. La présence d'un certificat racine périmé peut perturber le fonctionnement normal des services utilisant des certificats Let's Encrypt.

Attention ! Il n'est pas possible de résoudre le problème de cette façon sur tous les appareils.

Windows 7

Sous Windows 7, la chaîne de certificats racines aurait dû se mettre à jour automatiquement si les mises à jour du système d'exploitation sont activées. Dans le cas contraire, le certificat racine doit être installé manuellement en suivant ces étapes :

Téléchargez le certificat racine ISRG Root X1 depuis le site de Let's Encrypt au format der. Exécutez le fichier téléchargé et autorisez son ouverture en cliquant sur Ouvrir. Dans la fenêtre qui s'affiche, cliquez sur Installer le certificat :

file

file

Sélectionnez pour qui vous souhaitez installer le certificat, puis cliquez sur Suivant. Sélectionnez l'option Placer tous les certificats dans le magasin suivant et cliquez sur Parcourir :

file

file

Sélectionnez le magasin Autorités de certification racines de confiance et cliquez sur OK :

file

file

Cliquez sur Suivant, vérifiez l'exactitude des données sélectionnées, puis cliquez sur Terminer.

Debian/Ubuntu

  • Pour vérifier si le certificat racine figure dans la liste de confiance, exécutez la commande suivante dans le terminal :
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep "ISRG Root X1"
  • Si la sortie de la commande affiche subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1, aucune action supplémentaire n'est nécessaire. Dans le cas contraire, exécutez la commande suivante :
curl -k https://letsencrypt.org/certs/isrgrootx1.pem.txt | sudo tee /usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt ; sudo echo "mozilla/ISRG_Root_X1.crt" >> /etc/ca-certificates.conf ; sudo update-ca-certificates

Vérifiez ensuite le bon fonctionnement des services pour lesquels des problèmes d'accès se sont produits.

CentOS

  • Pour vérifier si le certificat racine figure dans la liste de confiance, exécutez la commande suivante dans le terminal :
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-bundle.crt | grep "ISRG Root X1"
  • Si la sortie de la commande affiche subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1, aucune action supplémentaire n'est nécessaire. Dans le cas contraire, exécutez la commande suivante :
trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
sudo update-ca-trust

Vérifiez ensuite le bon fonctionnement des services pour lesquels des problèmes d'accès se sont produits.

OpenSSL 1.0.x

  • Si le système utilise une version obsolète d'OpenSSL, vous devez supprimer le certificat racine périmé des certificats de confiance de la manière suivante : Pour Debian/Ubuntu, modifiez le fichier /etc/ca-certificates.conf en ajoutant le caractère ! au début de la ligne mozilla/DST_Root_CA_X3.crt, puis exécutez la commande :
update-ca-certificates

Côté serveur

Du côté serveur, vous avez peu de marge de manœuvre. Si vous utilisez des certificats Let's Encrypt sur votre serveur, sachez qu'après le 30 sept. 2021 à 14:01:15 GMT, seuls les clients faisant confiance à ISRG Root X1 et utilisant Android >= v2.3.6 pourront se connecter à votre serveur sans problème. Par ailleurs, les clients utilisant OpenSSL devront disposer de la version OpenSSL >= 1.1.0.

Cela dit, vous avez un choix : au prix de l'abandon du support des anciennes versions d'Android (en conservant le support pour Android >= 7.1.1), vous pouvez maintenir la compatibilité avec OpenSSL 1.0.x sans aucune intervention côté client.

Pour cela, vous devez utiliser la chaîne de confiance alternative proposée par Let's Encrypt pour vos certificats. Cette chaîne exclut DST Root CA X3 et se présente ainsi :

ISRG Root X1 → Let's Encrypt R3 → End User Certificate

Pour passer à la chaîne alternative, référez-vous à la documentation de votre client ACME.


Pour toute question supplémentaire, vous pouvez contacter notre équipe d'assistance à tout moment via le système de tickets.

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter