Проблемы с SSL "Издатель сертификата Peer помечен как недоверенный пользователем".

У нас есть общедоступный сервер разработки, который требует SSL для определенной функции.

Тем не менее, ВСЕ, что использует SSL в любой форме, возвращает

curl: (60) Peer's certificate issuer has been marked as not trusted by the user.

Это не проблема "Хорошо, просто используйте ssl-verify = false для yum или --insecure для запросов curl.

Я понимаю, что могу сделать это на обоих из них, чтобы сделать мои звонки. Но в конечном итоге - я ДОЛЖЕН быть в состоянии использовать SSL, потому что разработка, для которой мы используем эти серверы, требует этого.

Кажется, что CA устарела. Я попробовал следующее https://access.redhat.com/solutions/1549003

Я попытался импортировать файл cacert.pem самостоятельно (хотя я признаю, что мне здесь не хватает знаний, поэтому, возможно, я сделал это неправильно)

Я проверил дату / время на сервере, чтобы убедиться, что это не проблема.

Я не могу заставить "Сетевого администратора" (термин используется свободно, так как он будет первым, кто признает, что он абсолютно не знает Linux - чисто Microsoft), даже возиться с переустановкой Centos на эту машину, поэтому мне нужно найти Решение этого.

Любая помощь будет оценена. Ниже приведены некоторые примеры того, что мы получаем при попытке выполнить такие действия, как yum, curl и запуск certbot --apache.

YUM

[root@localhost work]# yum reinstall mc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not get metalink https://mirrors.fedoraproject.org/metalink?repo=epel- 
7&arch=x86_64 error was
14: curl#60 - "Peer's certificate issuer has been marked as not trusted by 
the user."
 * base: repos.dfw.quadranet.com
 * epel: mirror.compevo.com
 * extras: repos-tx.psychz.net
 * updates: mirror.us.oneandone.net
 * webtatic: repo.webtatic.com
https://us-east.repo.webtatic.com/yum/el7/x86_64/repodata/repomd.xml: [Errno 
14] curl#60 - "Peer's certificate issuer has been marked as not trusted by 
the user."
Trying other mirror.
It was impossible to connect to the CentOS servers.
This could mean a connectivity issue in your environment, such as the 
requirement to configure a proxy,
or a transparent proxy that tampers with TLS security, or an incorrect 
system clock.
You can try to solve this issue by using the instructions on 
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use 
https://bugs.centos.org/.

https://uk.repo.webtatic.com/yum/el7/x86_64/repodata/repomd.xml: [Errno 14] 
curl#60 - "Peer's certificate issuer has been marked as not trusted by the 
user."
Trying other mirror.
https://sp.repo.webtatic.com/yum/el7/x86_64/repodata/repomd.xml: [Errno 14] 
curl#60 - "Peer's certificate issuer has been marked as not trusted by the 
user."
Trying other mirror.
https://repo.webtatic.com/yum/el7/x86_64/repodata/repomd.xml: [Errno 14] 
curl#60 - "Peer's certificate issuer has been marked as not trusted by the 
user."
Trying other mirror.

CURL

[root@localhost work]# curl https://www.google.com
curl: (60) Peer's certificate issuer has been marked as not trusted by the 
user.
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

CERTBOT (ДЛЯ ЗАПРОСА LETSENCRYPT SSL CERT)

[root@localhost work]#  sudo certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 
'c' to cancel): email@host.com
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
An unexpected error occurred:
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 
(_ssl.c:579)
Please see the logfiles in /var/log/letsencrypt for more details.

3 ответа

Решение

Хотел ответить и закрыть это для дальнейшего использования.

Оказывается, у нас был прокси-сервер, который что-то связывал. У меня довольно интересная ситуация на моей работе (3 компании, 2 из которых принадлежат одному владельцу моей компании, отделены от моей собственной компании).

Оказывается, системный администратор компании B много лет назад включил прокси-сервер в цикл x и забыл об этом. Введите мой системный администратор компании, который берет на себя всю роль системного администратора для всех компаний. Никто не говорит ему о прокси. Это бегало в течение многих лет без чьих-либо знаний.

Мой вот в CentOS7, беги pyspider показать ошибку:

Exception HTTP 599 Peer's certificate issuer has been marked as not trusted by the user

и используя следующие шаги, чтобы исправить это:

изменить недопустимый файл libcurl .so:

/usr/lib64/libcurl.so.4 -> libcurl.so.4.3.0_openssl

к действительному файлу libcurl .so:

/usr/lib64/libcurl.so.4 -> libcurl.so.4.3.0

и переустановите pycurl:

pip3 uninstall pycurl
export PYCURL_SSL_LIBRARY=nss
export LDFLAGS=-L/usr/local/opt/openssl/lib;export CPPFLAGS=-I/usr/local/opt/openssl/include;pip install pycurl --compile --no-cache-dir

подробное описание см. еще один пост

Дифференциальный диагноз проблемы

  1. Срок действия самоподписанного сертификата истек
  2. Репозиторий использует https-ссылки для скачивания.
  3. Прокси-сервер не настроен для данных ссылок, используемых baseurl.
  4. Прокси http и https не настроены для загрузки пакетов.

Как смягчить проблему с сертификатом однорангового узла, скажем, я устанавливаю PHP 7.4, используя репозиторий remi-php74, что можно сделать, чтобы избежать всех проблем, связанных с диагностикой:>

  1. Срок действия самоподписанного сертификата истек

    yum-config-manager --save --setopt=remi-php74.skip_if_unavailable=true

    yum-config-manager --save --setopt=remiphp74.ssl_check_cert_permissions=false

  2. Репозиторий использует https-ссылки для скачивания.

    grep 'baseurl' /etc/yum.repos.d/* | Греп PHP

    vi /etc/yum.repos.d/remi-php74.repo

    Отредактируйте URL-адреса, прокомментируйте те, которые используют https, раскомментируйте http для baseurl или Mirrorlist, чтобы гарантировать, что проблема с одноранговым сертификатом не появится.

  3. Прокси-сервер не настроен для данных ссылок, используемых baseurl.

    yum-config-manager --save --setopt=remiphp74.proxy= https://proxy_ip:proxy_port

  4. Прокси http и https не настроены для загрузки пакетов.

    экспортировать http_proxy=http://proxy_ip:proxy_port

    экспорт https_proxy=https://proxy_ip:proxy_port

Шаг за шагом, что нужно сделать, если вы столкнулись с конкретным репозиторием и доступным списком его установки:>

Проверьте репо, доступное с помощью:>

      Yum repolist

Проверьте необходимый репо и отключите все остальные:>

          yum list available --disablerepo=* --enablerepo=remi-php74

    yum-config-manager --enable remi-php74

Если проблема с одноранговым сертификатом сохраняется, установите опцию репо:>

      yum-config-manager --save --setopt=remi-php74.skip_if_unavailable=true

yum-config-manager --save --setopt=remiphp74.ssl_check_cert_permissions=false

Если есть какие-либо проблемы с URL-адресами, проверьте, что базовый URL-адрес находится в http, поэтому снимите отметку с них в файле репозитория необходимого репо:>

      grep 'baseurl' /etc/yum.repos.d/* | grep php

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

      vi /etc/yum.repos.d/remi-php74.repo

Установите необходимый пакет:>

      Yum install php

Эта процедура применима ко всем остальным установкам с использованием необходимого репозитория. Нет необходимости получать сертификат CA, если проблема связана с установкой пакетов и проблемой однорангового сертификата. Также добавьте DNS, если дальнейшая проблема сохраняется с точки зрения невозможности разрешения URL-адресов, поскольку Google DNS помогает для большего разрешение базовых URL-адресов, используемых приведенными ниже пакетами, помогает, если оно настроено.

в /etc/resolv.conf добавьте записи ниже

      nameserver 8.8.8.8
nameserver 8.8.4.4
Другие вопросы по тегам