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

Проблема с установкой корневого центра сертификации на сервере Ubuntu 16.04 LTS

Я настраиваю обратный прокси nginx на сервере Ubuntu 16.04 LTS для веб-сервера.

В Ubuntu будут работать три разных сервиса. Сервисы будут общаться друг с другом с помощью вызовов API. Аналогичным образом клиенты (браузеры / мобильные устройства) будут связываться с Сервисами с помощью вызовов API.

Для проверки клиентских SSL-запросов мне необходимо установить сертификаты на серверный компьютер. После аутентификации только запрос будет обработан или перенаправлен для дальнейшей обработки.

У каждой службы есть сертификаты следующих файлов формата. Ser1_cert.crt, Ser1_key-decryp.key, Ser1_keyfile.key, Ser1_exported.pfx

lly Ser2_..., Ser3_... files are available

Для CA у меня есть CA_50EA.crt, доступны файлы CA_50EA.pfx

У меня нет ясности относительно того, какой формат файла сертификата я предполагаю использовать для установки сертификата.

Чтобы установить сертификаты в системе, я выполнил следующие шаги. 1. Я скопировал файлы с расширением .crt (включая файл CA) в /usr/share/ca-certificates затем я запускаю следующую команду. 2. sudo dpkg-reconfigure ca-certificates

Он показал интерфейс для выбора сертификатов, я выбрал все. В конце концов, он показал нет. сертификатов добавлено.

Я правильно указал путь к сертификату в файле nginx.conf. Я скопировал .crt и .key файлы в /etc/ssl/certs/ и /etc/ssl/private/ соответственно.

ssl_certificate "/etc/pki/certs/XServer_certificate.crt"; ssl_certificate_key "/etc/ssl/private/XServer_decryp.key";

Теперь я попытался войти на сервер из клиента браузера, но проверка сертификата входа завершилась ошибкой со следующим сообщением журнала сервера.

info: LoginController[0]

Certification Error :unable to get local issuer certificate

Чтобы еще раз подтвердить, я скопировал все файлы сертификатов в /usr/share/ca-certificates каталог (всего 14 файлов), затем я снова выполнил sudo dpkg-reconfigure ca-certificates. На этот раз также возникает такая же ошибка.

В следующий раз я побежал sudo update-ca-certificates --fresh Команда показала нет. сертификатов, установленных с предупреждением для файла ca.pem, как показано ниже.

WARNING: CA_50EA.pem does not contain a certificate or CRL: skipping 152 added, 0 removed; done.

.pem файл создается в /etc/ssl/certs папку, но я ввел только файл .crt в /usr/share/ca-certificates

Я попытался проверить с помощью приведенной ниже команды, но также увидел ту же проблему, что и ниже.

openssl s_client -connect [server name]:443 -showcerts -CAfile /etc/ssl/certs/ca-certificates.crt
................. ................. Verify return code: 21 (unable to verify the first certificate)

Это очень ясно говорит о том, что проверка не удалась.

Любой шаг, который мне не хватает, как правильно это сделать. Увидев ошибку, я подумал, что CA установлен неправильно.

Я читаю много блогов, большинство из них объясняют одно и то же, но у меня это не работает.

некоторое время до того, как я работал над CentOS7, я использовал следующие команды для установки сертификатов в системе. update-ca-trust force-enable, update-ca-trust extract В клиентах CentOS проверка сертификата выполняется нормально с указанными выше командами.

Любая обратная связь приветствуется.

Спасибо

Во-первых, спасибо всем вам,

Моя проблема: сертификат CA, который успешно устанавливается в CentOS, тот же сертификат не устанавливается на сервере Ubuntu 16, что дает предупреждение ниже. ВНИМАНИЕ: CA_50EA.pem не содержит сертификата или CRL: 152 добавлено, 0 удалено; сделано.

Решение: после применения различных подходов не удалось определить точную первопричину этой проблемы. Вдруг возникла одна идея, это решило мою проблему.

Создал новый корневой ЦС из файла CA.pfx, используя следующие шаги URL-адреса, и он успешно установлен на сервере Ubuntu 16 без каких-либо предупреждений и успешно подтвердил мои клиентские запросы. https://www.itsupportmiami.com/how-to-convert-a-pfx-to-a-seperate-key-crt-file/

Спасибо всем, кто смотрел мой вопрос и пытался ответить.