Vous n'avez pas fourni l'adresse actuelle du site Web, ni le nom du fournisseur SSL, ni aucune autre information sur le certificat, et vous voulez essentiellement que nous devinions les causes possibles.
Je suppose que votre chaîne de certificats se termine par "AddTrust External Root" en tant que CA le plus élevé, et que ce certificat racine a expiré il y a plusieurs heures.
Sectigo, le propriétaire du certificat, a un diagramme de la chaîne - en raison du croisement des anciens certificats de CA par de nouveaux, "AddTrust External Root" était essentiellement un niveau supérieur au-dessus de ce qui serait normalement le vrai certificat racine de l'entreprise. Les nouveaux systèmes d'exploitation verraient les certificats de Sectigo/Comodo comme des CA racines auto-signés, tandis que les anciens les verraient comme des CA intermédiaires en dessous de AddTrust Root.
Ainsi, sur les anciens systèmes d'exploitation qui ne reconnaissent Sectigo que via le croisement par le certificat de CA racine AddTrust, dès que ce dernier expire, toute la chaîne est invalide. Pour résoudre ce problème, vous devez passer à un autre CA que ces systèmes reconnaissent comme racine (vérifiez /etc/ssl/certs
).
Il se peut que ces systèmes reconnaissent Sectigo comme un CA racine à part entière. En théorie, il est tout à fait légal pour un certificat de se valider par l'intermédiaire de multiples chaînes, par exemple, un CA peut être simultanément une CA racine et être croisé par un autre CA.
Mais en pratique, de nombreuses bibliothèques clientes TLS ne sont pas très bonnes pour construire des chaînes alternatives et supposent qu'il y a toujours exactement une seule façon de valider un certificat. (Windows est un peu mieux, et les grands navigateurs Web incluent également du code pour gérer cette complexité supplémentaire par rapport à ce que la bibliothèque TLS fournirait probablement.)
Par exemple, les anciennes versions d'OpenSSL étaient très strictes sur les certificats pouvant servir de racines de confiance. Si le serveur envoyait une chaîne "OldCA–NewCA–Intermediate–MyServer", OpenSSL 1.0 n'accepterait que si vous aviez "OldCA" comme certificat de confiance - mais il ne serait pas assez intelligent pour l'accepter si vous aviez "NewCA" à la place.
_
Donc, si Ubuntu 14.04 reconnaît déjà Sectigo comme une autorité de certification, il faut alors corriger la chaîne de certificats envoyée par votre serveur Web - je suppose que supprimer le certificat qui indique "Issuer: AddTrust" devrait suffire.
Disons que l'ancienne chaîne de certificats ressemble à ceci:
[AddTrust External Root] [inclus dans l'OS]
+-- USERTrust RSA Certification Authority (Sectigo) envoyé par votre serveur
+-- Gandi Standard SSL CA 2 envoyé par votre serveur
+-- git.kernel.org envoyé par votre serveur
Vous devez la modifier pour que votre serveur cesse d'envoyer le certificat USERTrust signé en croix:
[USERTrust RSA Certification Authority (Sectigo)] [inclus dans l'OS]
+-- Gandi Standard SSL CA 2 envoyé par votre serveur
+-- git.kernel.org envoyé par votre serveur
Vous pouvez également résoudre ce problème du côté client, en supprimant le certificat racine AddTrust.
_