Une application open source exécutée sur mon système macOS 10.13.6 et 10.14.6 rencontre un problème d'accès à un site Web via https qui utilise un certificat Let's Encrypt. Si j'utilise curl
pour accéder au même site, j'obtiens également une erreur indiquant que le certificat a expiré.
Voici la sortie de curl -vv
avec le nom d'hôte et l'adresse IP masqués :
* Rebuilt URL to: https://hostname/
* Trying x.x.x.x...
* TCP_NODELAY set
* Connected to hostname (x.x.x.x) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Sélection du chiffrement : ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* Emplacement de vérification du certificat défini avec succès :
* CAfile: /etc/ssl/cert.pem
CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, Server hello (2):
* Problème de certificat SSL : le certificat a expiré
* Arrêt du flux de pause !
* Connexion 0 fermée
curl: (60) Problème de certificat SSL : le certificat a expiré
Plus de détails ici: https://curl.haxx.se/docs/sslcerts.html
curl effectue la vérification du certificat SSL par défaut...
(reste du texte non pertinent et supprimé)
J'ai confirmé que le certificat ISRG Root X1 est installé dans Keychain Access et est fiable.
De plus, je peux accéder au site en utilisant Safari ou tout autre navigateur Web. Cependant, l'application en question échoue toujours, tout comme curl
.
Que dois-je faire pour résoudre ce problème? Je ne peux pas simplement utiliser le mode non sécurisé sur curl
car le problème que j'essaie de résoudre est l'application qui ne peut pas accéder au site. Je ne suis pas sûr de la bibliothèque utilisée par l'application pour le https -- il peut s'agir de libcurl, mais je soupçonne qu'elle échoue pour la même raison que curl
.
Petit ajout : l'application open source utilise OpenSSL 1.1.1j.