Una aplicación de código abierto que se ejecuta en mi sistema MacOS 10.13.6 y 10.14.6 no puede acceder a un sitio web a través de https que utiliza un certificado Let's Encrypt. Si utilizo curl
para acceder al mismo sitio, también obtiene un error sobre el certificado caducado.
Esta es la salida de curl -vv
con el nombre de host y la dirección IP redactados:
* 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
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* 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):
* SSL certificate problem: certificate has expired
* stopped the pause stream!
* Closing connection 0
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default...
(rest of text not relevant and removed)
He confirmado que el certificado ISRG Root X1 está instalado en Keychain Access y es de confianza.
Además, puedo acceder al sitio usando Safari o cualquier otro navegador web. Sin embargo, la aplicación en cuestión sigue fallando, al igual que curl
.
¿Qué tengo que hacer para solucionar esto? No puedo usar el modo inseguro en curl
ya que el problema que estoy tratando de arreglar es la aplicación que no puede acceder al sitio. No estoy seguro de qué biblioteca está utilizando la aplicación para https - puede ser libcurl, pero sospecho que está fallando por la misma razón curl
es.
Pequeña adición: la aplicación de código abierto utiliza OpenSSL 1.1.1j.