Аутентификация клиента Apache: браузер не отправляет сертификат, когда имя CA не соответствует регистру?

Использование Apache 2.4.

У нас есть два действительных сертификата CA, чьи отличительные имена отличаются только регистром одного символа (скажем, CA1 с dn: cn = MyCA, O = myOrg и CA2 с dn: cn = MyCA, O = MyOrg).

Оба эти сертификата находятся в файле, на который указывает SSLCACertificateFile директива Apache, поскольку нам необходимо аутентифицировать сертификаты клиентов, подписанные обоими центрами сертификации. Этого не происходит: доступ могут получить только браузеры с клиентскими сертификатами, подписанными CA1 или CA2, в зависимости от порядка сертификатов CA в файле. Итак, если только клиенты из CA1 могут аутентифицироваться, после переключения порядка в SSLCACertificateFile и перезагрузки Apache, только клиенты из CA2 смогут аутентифицироваться.

Если мы выполним квитирование SSL с помощью openssl s_client -connect < сервер>: <порт> -prexit , мы замечаем, что только одно из отличительных имен CA отправляется в списке принятых CA, а отправляемый dn зависит от порядка, в котором сертификаты CA находятся в SSLCACertificateFile. Это имеет смысл, поскольку вычисляемый хеш Openssl для двух отличительных имен одинаков, поскольку отличительные имена не должны быть чувствительны к регистру.

Но похоже, что браузер выполняет сопоставление с учетом регистра, вместо этого, как в Apache регистрирует сертификат, установленный в браузере, не отправляется, если «объявленный CA» - это CA1, а сертификат клиента подписан CA2, и наоборот. Мы пробовали использовать Firefox в Windows и Linux, а также Internet Explorer и Chrome в Windows.

В противном случае, браузер командной строки curl не имеет этой проблемы, когда мы вызываем URL-адрес https с сертификатом клиента и ключом в формате PEM. Ядро: 3.10.0-693.2.2.el7.x86_64 Проблема: # lsusb lsusb: ошибка при загрузке разделяемых библиотек: libusb-1.0.so.0: не удается открыть общие ...

Дистрибутив Linux: CentOS Linux, выпуск 7.4.1708 (Core)
Ядро: 3.10.0-693.2.2.el7.x86_64

Проблема:

# lsusb
lsusb: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory

# ldd /usr/bin/lsusb
linux-vdso.so.1 =>  (0x00007ffd446e0000)
libusb-1.0.so.0 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f3cb0b14000)
/lib64/ld-linux-x86-64.so.2 (0x000055cb87a1b000)

Пока:

# ldconfig -p | grep libusb-1.0.so.0
        libusb-1.0.so.0 (libc6) => /lib/libusb-1.0.so.0

# ls -als /lib/libusb*
  0 lrwxrwxrwx. 1 root root    19 Sep 16 10:13 /lib/libusb-1.0.so.0 -> libusb-1.0.so.0.1.0
100 -rwxr-xr-x. 1 root root 98420 Nov  5  2016 /lib/libusb-1.0.so.0.1.0
1
задан 19 September 2017 в 12:44
2 ответа

Похоже, соответствующий пакет не установлен. Проверьте с помощью # yum whatprovides libusb-1.0.so.0.

Скорее всего, это будет решено путем установки следующего RPM:

# yum install libusb
1
ответ дан 3 December 2019 в 23:25

लायब्ररी शोधत असताना / lib निर्देशिका वगळली जाऊ शकते. /etc/ld.so.conf मध्ये

/lib 

ओळ टाकण्याचा प्रयत्न करा आणि नंतर चालवा

ldconfig -v

ते

ला मदत करते की नाही ते पहा
0
ответ дан 3 December 2019 в 23:25

Теги

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