Невозможно проверить сертификат, сбой sha256sum, недавно обновленный openssl

Сейчас это работает, см. Последние 2 редактирования

Недавно у меня было несколько экземпляров, где sha256sum не работает или сертификат не может быть проверен. Это произошло во время использования wget, winetricks и lutris. Это не произошло с Firefox вообще.

Я недавно обновил свой openssl до 1.1.1c. Я не уверен, является ли это причиной или нет.

У кого-нибудь есть идеи, как я могу исправить мою проблему? Есть ли что-то еще, что мне нужно сделать после установки openssl? Или есть способ проверить правильность моих сертификатов в / etc / ssl / certs?

Редактировать 1:

Два примера с wget

wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
--2019-06-25 18:56:33--  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.184.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.184.133|:443... connected.
ERROR: cannot verify raw.githubusercontent.com's certificate, issued by ‘CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US’:
  Unable to locally verify the issuer's authority.
To connect to raw.githubusercontent.com insecurely, use `--no-check-certificate'.

и

wget https://dl.google.com/dl/android/studio/ide-zips/3.4.1.0/android-studio-ide-183.5522156-linux.tar.gz
--2019-06-25 19:08:19--  https://dl.google.com/dl/android/studio/ide-zips/3.4.1.0/android-studio-ide-183.5522156-linux.tar.gz
Resolving dl.google.com (dl.google.com)... 2607:f8b0:4009:807::200e, 172.217.9.78
Connecting to dl.google.com (dl.google.com)|2607:f8b0:4009:807::200e|:443... connected.
ERROR: cannot verify dl.google.com's certificate, issued by ‘CN=Google Internet Authority G3,O=Google Trust Services,C=US’:
  Unable to locally verify the issuer's authority.
To connect to dl.google.com insecurely, use `--no-check-certificate'.

edit 2:
Добавление ca_certificate=/etc/ssl/certs/ca-certificates.crt в /etc/wgetrc устранило проблему с помощью wget. У меня до сих пор иногда возникают проблемы с другими программами. Мне интересно, была ли удалена какая-то системная ссылка, когда я обновил openssl. Я должен упомянуть, что я собрал openssl из исходного кода, следуя инструкциям на сайте openssl. Я не использовал менеджер пакетов, потому что нужная мне версия там еще не была доступна.

edit 3:
Вот пример того, как lutris не смог проверить сертификат через python 3 urllib

2019-06-25 19:36:04,485: Error while completing task <function fetch_script at 0x7f0533fd1730>: Unable to connect to server https://lutris.net/api/installers/hearthstone-dx11-to-vulkan-dxvk: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)>
<class 'lutris.util.http.HTTPError'> Unable to connect to server https://lutris.net/api/installers/hearthstone-dx11-to-vulkan-dxvk: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)>
  File "/usr/lib/python3/dist-packages/lutris/util/jobs.py", line 30, in target
result = self.function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 56, in fetch_script
request.get()
  File "/usr/lib/python3/dist-packages/lutris/util/http.py", line 81, in get
raise HTTPError("Unable to connect to server %s: %s" % (self.url, error))

Edit 4:
Я получил его на работу! Мне нужно было добавить системную ссылку из /etc/ssl/certs в /usr/local/ssl/certs. Это должно было быть удалено, когда я обновил openssl
. Это также устранило проблемы sha256sum, которые у меня были с winetricks

Редактировать 5: На самом деле, /usr/local/ssl/certs никогда не удалялся. Просто никогда не было. В старой версии openssl я искал сертификаты в /usr/lib/ssl/certs. После обновления он искал их в /usr/local/ssl/certs. Я смог проверить это с помощью команды openssl version -d

1
задан 27 June 2019 в 18:17

2 ответа

Суммы не истекают или что-нибудь. Они идентифицируют набор данных с достаточно уникальным значением. У кого-то [кому вы доверяете] были файлы и создан идентификатор (hash / sum). Затем этот идентификатор был сохранен, чтобы при последующем извлечении файла вы могли подтвердить, что это точно такой же файл. Вы загрузили файл, который просто не соответствует оригиналу, и вам необходимо определить ход действий с помощью ненадежного файла. Главный пример использования суммы - это когда вы посещаете страницу загрузки Ubuntu и вам показывают, как проверить текущее изображение:

echo "2da6f8b5c65b71b040c5c510311eae1798545b8ba801c9b63e9e3fd3c0457cbe *ubuntu-19.04-desktop-amd64.iso" | shasum -a 256 --check

В этом случае вы получаете проверенную сумму надежно (https), и затем используйте его для проверки целостности ISO. Это позволяет вам загружать ISO из зеркала и знать, что он не был подделан.

Обновление OpenSSL не влияет на это.


Что касается сбоев сертификатов, веб-сайт может не поддерживать свои сертификаты в актуальном состоянии. Вещи забыты, а обновления не сделаны. Срок действия сертификатов по умолчанию истекает, и для их обслуживания требуется работа, поэтому вполне возможно, что это так. Если вы можете получить URL-адрес файла, вы можете проверить сертификат самостоятельно. Хотя это может показаться достаточно невинным, но неуправляемый сервер может иметь гораздо более серьезные проблемы, из-за чего файл, который он обслуживает, небезопасен.

Обновление OpenSSL вряд ли будет причиной этой проблемы. Сертификаты, скорее всего, недействительны. Вы можете привести примеры, если хотите больше подробностей.

0
ответ дан 27 June 2019 в 18:17

Используйте текущий каталог OpenSSL:

openssl version -d

Копия все старые сертификаты к текущему каталогу. Обычный старый каталог /etc/ssl/certs:

cp -P /etc/ssl/certs /usr/local/ssl/certs
1
ответ дан 7 December 2019 в 15:01

Другие вопросы по тегам:

Похожие вопросы: