
En mi oficina, uno de los sistemas todavía ejecuta Ubuntu 14.04. Este sistema se ha visto afectado por el problema del certificado raíz caducado de Let's Encrypt:
https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
Descargué manualmente los certificados más recientes siguiendo las instrucciones que se encuentran aquí:
https://askubuntu.com/questions/1366704/how-to-install-latest-ca-certificates-on-ubuntu-14
# Ensure dependencies
sudo apt install make tar wget
# Make a place to build it in
mkdir -p ~/src
cd ~/src
wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ca-certificates/20210119~20.04.2/ca-certificates_20210119~20.04.2.tar.xz
tar -xJf ca-certificates_20210119~20.04.2.tar.xz
# Now build and install
cd ca-certificates-20210119~20.04.1
make
sudo make install
# You might want to run this interactively to ensure
# you can select the ISRG Root X1
# in which case, just run: sudo dpkg-reconfigure ca-certificates
sudo dpkg-reconfigure -fnoninteractive ca-certificates
sudo update-ca-certificates --fresh --verbose
/usr/bin/c_rehash /etc/ssl/certs
Seguí los pasos aquí para eliminar "DST Root CA X3" y me aseguré de que el certificado "ISRG_Root_X1" estuviera habilitado:
https://jay.gooby.org/2021/09/30/remove-the-dst-root-ca-x3-crt-from-ubuntu-14-04-lts
# Also available at https://askubuntu.com/a/1366719/233579
mkdir -p ~/src
cd ~/src
wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ca- certificates/20210119~20.04.2/ca-certificates_20210119~20.04.2.tar.xz
unxz ca-certificates_20210119~20.04.2.tar.xz
tar -xf ca-certificates_20210119~20.04.2.tar
cd ca-certificates-20210119~20.04.1
make
sudo make install
sudo dpkg-reconfigure -fnoninteractive ca-certificates
sudo update-ca-certificates
Reinicié para asegurarme. Todavía recibo el error. Luego actualicé manualmente openssl
de 1.0.2 a 1.1.0 siguiendo estas instrucciones:
https://forums.servethehome.com/index.php?resources/installing-openssl-1-1-0-on-ubuntu.21/
# I had to use the --no-check-certificate flag because openssl's certificate
# is issued by LetsEncrypt
wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz --no-check-certificate
tar xzvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e
./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
make
sudo make install
Veo la nueva versión:
$ openssl version
OpenSSL 1.1.1l 24 Aug 2021
Me aseguré de que el antiguo certificado caducado desapareciera y que el nuevo estuviera activo:
# Look for expired LetsEncrypt certificate.
$ openssl x509 -enddate -noout -in /etc/ssl/certs/DST_Root_CA_X3.pem
Can't open /etc/ssl/certs/DST_Root_CA_X3.pem for reading, No such file or directory
140352100943680:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:69:fopen('/etc/ssl/certs/DST_Root_CA_X3.pem','r')
140352100943680:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:76:
unable to load certificate
# Look for new LetsEncrypt ISRG_Root_X1 certificate
$ openssl x509 -enddate -noout -in /etc/ssl/certs/ISRG_Root_X1.pem
notAfter=Jun 4 11:04:38 2035 GMT
Reinicié nuevamente solo para estar seguro. Lamentablemente sigo recibiendo el error. Esto es lo que sucede si intento descargar la openssl
versión 1.1.0 nuevamente. Sin embargo, esta vez, sin --no-check-certificates
el wget
uso que usé antes para obtener el archivo:
$ wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz
--2021-11-24 18:38:38-- https://www.openssl.org/source/openssl-1.1.0e.tar.gz
Resolving www.openssl.org (www.openssl.org)... 2600:1403:5400:59f::c1e, 2600:1403:5400:5b3::c1e, 104.122.65.172
Connecting to www.openssl.org (www.openssl.org)|2600:1403:5400:59f::c1e|:443... connected.
ERROR: cannot verify www.openssl.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Unable to locally verify the issuer's authority.
To connect to www.openssl.org insecurely, use `--no-check-certificate'.
¿Alguien sabe como puedo arreglar esto?
Respuesta1
No es necesario descargar todos los certificados ca si solo desea agregar uno.
Simplemente descargue el nuevo certificado raíz ISRG Root X1 en formato PEM desdeEl repositorio de Let's Encrypt(habiendo confirmado que el enlace es al sitio genuino protegido por HTTPS, por supuesto).
Cambie el nombre del archivo para que su extensión sea .crt
y colóquelo en /usr/local/share/ca-certificates
.
Finalmente, ejecuta:
sudo update-ca-certificates --fresh