În biroul meu, unul dintre sisteme rulează încă Ubuntu 14.04. Acest sistem a fost afectat de problema certificatului rădăcină expirat Let's Encrypt:
https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
Am descărcat manual cele mai recente certificate folosind instrucțiunile de aici:
https://askubuntu.com/questions/1366704/how-to-install-latest-ca-certificates-on-ubuntu-14
# Asigurați dependențe
sudo apt install make tar wget
# Faceți un loc în care să-l construiți
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
# Acum construiți și instalați
cd ca-certificates-20210119~20.04.1
face
sudo make install
# Poate doriți să rulați acest lucru în mod interactiv pentru a vă asigura
# puteți selecta ISRG Root X1
# în acest caz, rulați: sudo dpkg-reconfigure ca-certificates
sudo dpkg-reconfigure -fnoninteractive ca-certificates
sudo update-ca-certificates --fresh --verbose
/usr/bin/c_rehash /etc/ssl/certs
Am urmat pașii de aici pentru a elimina „DST Root CA X3” și m-am asigurat că certificatul „ISRG_Root_X1” a fost activat:
https://jay.gooby.org/2021/09/30/remove-the-dst-root-ca-x3-crt-from-ubuntu-14-04-lts
# Disponibil și la 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
face
sudo make install
sudo dpkg-reconfigure -fnoninteractive ca-certificates
sudo update-ca-certificates
Am repornit pentru a fi sigur. Inca am primit eroarea. Apoi am actualizat manual openssl
de la 1.0.2 la 1.1.0 folosind aceste instrucțiuni:
https://forums.servethehome.com/index.php?resources/installing-openssl-1-1-0-on-ubuntu.21/
# Am fost nevoit să folosesc indicatorul --no-check-certificate pentru că certificatul lui openssl
# este emis de 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)'
face
sudo make install
Văd noua versiune:
versiunea $ openssl
OpenSSL 1.1.1l 24 august 2021
M-am asigurat că vechiul certificat expirat a dispărut și că cel nou era activ:
# Căutați certificatul LetsEncrypt expirat.
$ openssl x509 -enddate -noout -in /etc/ssl/certs/DST_Root_CA_X3.pem
Nu se poate deschide /etc/ssl/certs/DST_Root_CA_X3.pem pentru citire, nu există un astfel de fișier sau director
140352100943680:error:02001002:system library:fopen:Nu există un astfel de fișier sau director:crypto/bio/bss_file.c:69:fopen('/etc/ssl/certs/DST_Root_CA_X3.pem','r')
140352100943680:error:2006D080:BIO rutine:BIO_new_file:nu există un astfel de fișier:crypto/bio/bss_file.c:76:
nu se poate încărca certificatul
# Căutați un nou certificat LetsEncrypt ISRG_Root_X1
$ openssl x509 -enddate -noout -in /etc/ssl/certs/ISRG_Root_X1.pem
notAfter=4 iunie 11:04:38 2035 GMT
Am repornit din nou doar pentru a fi sigur. Din păcate, încă primesc eroarea. Iată ce se întâmplă dacă încerc să descarc fișierul openssl
1.1.0 construi din nou. Cu toate acestea de data aceasta, fără --no-check-certificates
cu wget
cum am folosit mai devreme pentru a obține fișierul:
$ 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
Se rezolvă www.openssl.org (www.openssl.org)... 2600:1403:5400:59f::c1e, 2600:1403:5400:5b3::c1e, 104.122.65.172
Se conectează la www.openssl.org (www.openssl.org)|2600:1403:5400:59f::c1e|:443... conectat.
EROARE: nu se poate verifica certificatul www.openssl.org, emis de â/C=US/O=Let's Encrypt/CN=R3â:
Nu se poate verifica la nivel local autoritatea emitentului.
Pentru a vă conecta la www.openssl.org în mod nesigur, utilizați „--no-check-certificate”.
Știe cineva cum pot remedia asta?