Рейтинг:1

Обновить сертификаты и OpenSSL в Ubuntu 14.04 и все еще получать ошибки сертификата LetsEncrypt с истекшим сроком действия?

флаг bj

В моем офисе на одной из систем все еще работает Ubuntu 14.04. На эту систему повлияла проблема с просроченным корневым сертификатом Let's Encrypt:

https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/

Я загрузил вручную последние сертификаты, используя инструкции, найденные здесь:

https://askubuntu.com/questions/1366704/how-to-install-latest-ca-certificates-on-ubuntu-14

# Обеспечить зависимости
sudo apt install make tar wget

# Сделайте место для его сборки
mkdir -p ~/источник
компакт-диск ~/источник
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

# Теперь соберите и установите
cd ca-сертификаты-20210119~20.04.1
делать
судо сделать установить

# Возможно, вы захотите запустить это в интерактивном режиме, чтобы убедиться, что
# вы можете выбрать ISRG Root X1
# в этом случае просто запустите: sudo dpkg-reconfigure ca-certificates
sudo dpkg-reconfigure -fnoninteractive ca-сертификаты
sudo update-ca-certificates --fresh --verbose
/usr/bin/c_rehash /etc/ssl/сертификаты

Я выполнил шаги, описанные здесь, чтобы удалить «DST Root CA X3» и убедиться, что сертификат «ISRG_Root_X1» включен:

https://jay.gooby.org/2021/09/30/удалить-the-dst-root-ca-x3-crt-from-ubuntu-14-04-lts

# Также доступно на https://askubuntu.com/a/1366719/233579
mkdir -p ~/источник
компакт-диск ~/источник
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-сертификаты-20210119~20.04.1
делать
судо сделать установить
sudo dpkg-reconfigure -fnoninteractive ca-сертификаты
sudo update-ca-сертификаты 

Я перезагрузился, чтобы убедиться. Я все еще получил ошибку. Потом обновил вручную openssl с 1.0.2 до 1.1.0 с помощью этих инструкций:

https://forums.servethehome.com/index.php?resources/installing-openssl-1-1-0-on-ubuntu.21/

# Мне пришлось использовать флаг --no-check-certificate, потому что сертификат openssl
# выдается LetsEncrypt
wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz --no-check-certificate
смола xzvf openssl-1.1.0e.tar.gz
компакт-диск openssl-1.1.0e
./config -Wl, --enable-new-dtags,-rpath,'$(LIBRPATH)'
делать
судо сделать установить

Я вижу новую версию:

$ версия openssl
OpenSSL 1.1.1l 24 августа 2021 г.

Я убедился, что старый сертификат с истекшим сроком действия исчез, а новый активен:

# Ищите просроченный сертификат LetsEncrypt.
$ openssl x509 -enddate -noout -in /etc/ssl/certs/DST_Root_CA_X3.pem
Не удается открыть /etc/ssl/certs/DST_Root_CA_X3.pem для чтения, нет такого файла или каталога
140352100943680:ошибка:02001002:системная библиотека:fopen:Нет такого файла или каталога:crypto/bio/bss_file.c:69:fopen('/etc/ssl/certs/DST_Root_CA_X3.pem','r')
140352100943680: ошибка: 2006D080: подпрограммы BIO: BIO_new_file: такого файла нет: crypto/bio/bss_file.c:76:
не удалось загрузить сертификат

# Ищем новый сертификат LetsEncrypt ISRG_Root_X1
$ openssl x509 -enddate -noout -in /etc/ssl/certs/ISRG_Root_X1.pem
notAfter=4 июня 11:04:38 20:35 по Гринвичу

Я перезагрузился еще раз, чтобы быть уверенным. К сожалению, я все еще получаю сообщение об ошибке. Вот что произойдет, если я попытаюсь загрузить openssl 1.1.0 снова собрать. Однако на этот раз без --no-check-сертификаты с wget как я использовал ранее, чтобы получить файл:

$ 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
Разрешение www.openssl.org (www.openssl.org)... 2600:1403:5400:59f::c1e, 2600:1403:5400:5b3::c1e, 104.122.65.172
Подключение к www.openssl.org (www.openssl.org)|2600:1403:5400:59f::c1e|:443... установлено.
ОШИБКА: не удается проверить сертификат www.openssl.org, выданный «/C=US/O=Let's Encrypt/CN=R3»:
  Не удалось локально проверить полномочия эмитента.
Для небезопасного подключения к www.openssl.org используйте `--no-check-certificate'.

Кто-нибудь знает, как я могу это исправить?

Paul avatar
флаг cn
14.04 - окончание срока службы. Лучший способ исправить это — перейти на поддерживаемую версию.
Рейтинг:2
флаг br

Нет необходимости загружать все сертификаты ЦС, если вы просто хотите добавить один.

Просто загрузите новый корневой сертификат ISRG Root X1 в формате PEM с Репозиторий Let’s Encrypt (конечно, подтвердив, что ссылка ведет на настоящий сайт, защищенный HTTPS).

Переименуйте файл так, чтобы его расширение было .crt и место в /usr/local/share/ca-сертификаты.

Наконец, запустите:

sudo update-ca-сертификаты --fresh
Robert Oschler avatar
флаг bj
Спасибо. Но я не понимаю, как это решает проблему, с которой я сталкиваюсь, поскольку, хотя я добавил больше сертификатов, чем мне нужно, у меня есть сертификат, который должен решить проблему, но нет?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.