Назад | Перейти на главную страницу

SSL-сертификат в системном хранилище не доверяет Chrome

У меня есть сервер gitlab, работающий в нашей компании, для которого я получил сертификат, подписанный центром сертификации нашей компании. Поскольку я могу получить доступ к сайту с машины в нашем домене без ошибок SSL, я предполагаю, что сервер настроен правильно.

При работе с ноутбуком у меня, конечно, не было сертификата ЦС компании. Например openssl s_client -connect my.git.server:443 вернет "Ошибка 19, самоподписанный сертификат в цепочке":

0 s:/C=REDACTED
   i:/DC=REDACTED/DC=REDACTED/CN=IssuingCA
 1 s:/DC=REDACTED/DC=REDACTED/CN=IssuingCA
   i:/CN=RootCA
 2 s:/CN=RootCA
   i:/CN=RootCA

Итак, я получил доступ к серверу и экспортировал сертификат корневого центра сертификации. Затем я добавил его в свой системный магазин:

sudo su
cp RootCA /usr/local/share/ca-certificates/extra/RootCA.crt
update-ca-certificates

Теперь openssl принимает это нормально (код возврата 0, хорошо). Однако Google Chrome по-прежнему жалуется:

Этот сервер не смог доказать, что это my.git.server; его сертификат безопасности не доверяет вашему операционная система компьютера.

Если бы не это сообщение, я бы подумал, что Chrome имеет собственное хранилище сертификатов и не заботится об ОС. Но кажется совершенно очевидным, что сертификат является доверяет ОС, и Chrome обращается к ней.

Я использую Ubuntu 18.04. Это просто причуда Chrome в том, что он не уважает системные сертификаты, или мне что-то не хватает?

В Ubuntu Chrome использует собственное хранилище сертификатов. Вы можете импортировать свой RootCA.crt в Chrome

настройки -> конфиденциальность и безопасность -> управление ключами безопасности -> управление сертификатами -> полномочия

Обратите внимание, что обновление хранилища сертификатов системы ubuntu update-ca-certificates не влияет на Chrome.