2

У меня проблема с тем, что на моем устройстве CentOS 7 выполняется все, что требует SSL, включая curl, wget или обновление через YUM.

Вывод всегда один и тот же:

[root@localhost ~]# curl -I -v https://google.com
* About to connect() to google.com port 443 (#0)
*   Trying 74.125.138.100...
* Connected to google.com (74.125.138.100) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Server certificate:
*       subject: CN=*.google.com,O=Google Inc,L=Mountain View,ST=California,C=US
*       start date: Jun 16 08:37:32 2016 GMT
*       expire date: Sep 08 08:29:00 2016 GMT
*       common name: *.google.com
*       issuer: CN=192.168.2.44,C=US
* NSS error -8172 (SEC_ERROR_UNTRUSTED_ISSUER)
* Peer's certificate issuer has been marked as not trusted by the user.
* Closing connection 0
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

Все сертификаты выглядят как "помеченные как ненадежные" (я пробовал это с дюжиной разных URL). Я попытался переустановить сертификаты CA, делая это:

yum --disablerepo="epel" reinstall ca-certificates

но это не помогло Есть идеи?

3 ответа3

2

Я бы проверил вашу установку NSS. Возможно, что это устарело / повреждено каким-то образом.

Проверьте версию, которую вы используете; последний на сентос 7 должен быть:

nss-config version
3.21.0

Затем проверьте, были ли какие-либо пакеты nss изменены или повреждены:

rpm -Vv nss-*

В зависимости от ваших результатов может потребоваться обновление или переустановка nss.

Вы можете окончательно определить, является ли это проблемой с nss, временно изменив разрешения для этого каталога (как root):

chmod 400 /etc/pki/nssdb/*

Затем выполните команду curl как обычный пользователь - если она работает, она выдаст что-то вроде этого:

* Connected to google.com (172.217.4.206) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* Unable to initialize NSS database
* Initializing NSS with certpath: none
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate:
<clipped>

Что указывает на то, что он использовал только сертификаты CA, а не аутентификацию на основе nssdb.

Если это не связано с NSS, вот руководство RHEL, которое также применимо к CentOS, чтобы убедиться, что у вас есть чистая конфигурация CA-сертификата. Я не верю, что ссылка находится за их платным доступом; дайте мне знать, если вам это нужно и не можете получить к нему доступ.

1

В какой среде вы используете CentOS7?

Существует серьезная ошибка, связанная с обновлением Centos 6.8 / NSS 3.21.0-8.el6 в системах с (Zen) виртуализацией и / или поддержкой AES ЦП. У меня возникла проблема после обновления CentOS 6.8 и NSS на экземплярах Rackspace и AWS t1.micro.

Я полагаю, что у вас возникла проблема с обновлением Centos7 NSS.

https://www.centos.org/forums/viewtopic.php?t=58002

https://bugs.centos.org/view.php?id=10930#c26705

Как проверить, что AES-NI поддерживается моим процессором? https://unix.stackexchange.com/questions/14077/how-to-check-that-aes-ni-is-supported-by-my-cpu

На 6.8 Некоторые люди преуспели в понижении NSS, установив переменную среды: "NSS_DISABLE_HW_GCM = 1"

# NSS_DISABLE_HW_AES=1
# yum downgrade nss nss-util nss-tools nss-sysinit
# yum install yum-plugin-versionlock
# yum versionlock add! nss-3.21.0-0.3.el6_7.x86_64 nss-sysinit-3.21.0-0.3.el6_7.x86_64 nss-tools-3.21.0-0.3.el6_7.x86_64 nss-util-3.21.0-0.3.el6_7.x86_64

Опять же, приведенный выше код для 6,8 НЕ CentOS 7

Я нашел nss-3.21.0-0.3. el6_7 .x86_64 устарел и недоступен. Я перезагружал весь сервер из резервной копии образа до обновления 6.8, а версия YUM заблокирована. Nss nss-sysinit nss-tools nss-util перед повторным обновлением.

ПРИМЕЧАНИЕ: я добавил бы вышеупомянутую информацию как «комментарий», а не как «ответ», но мой низкий показатель повторения мешает мне комментировать, я могу только «ответить».

Надеюсь, это поможет.

1

У меня была похожая проблема. Конечно, это, скорее всего, мой собственный гаффо.

Надо было установить *nss-*

[not showing this]# nss-config version

bash: nss-config: command not found

yum install -y nss-*

Installed:
  nss-devel.x86_64 0:3.36.0-7.el7_5
  nss-pam-ldapd.x86_64 0:0.8.13-16.el7
  nss-pkcs11-devel.x86_64 0:3.36.0-7.el7_5
  nss-softokn-devel.x86_64 0:3.36.0-5.el7_5
  nss-softokn-freebl-devel.x86_64 0:3.36.0-5.el7_5
  nss-util-devel.x86_64 0:3.36.0-1.el7_5

Dependency Installed:
  nscd.x86_64 0:2.17-260.el7            nspr-devel.x86_64 0:4.19.0-1.el7_5

nss-config version

Usage: nss-config [OPTIONS] [LIBRARIES]

Options:
        [--prefix[=DIR]]
        [--exec-prefix[=DIR]]
        [--includedir[=DIR]]
        [--libdir[=DIR]]
        [--version]
        [--libs]
        [--cflags]

Dynamic Libraries:
        nss
        nssutil
        ssl
        smime

[not showing this still]# nss-config --version
3.36.0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .