nginx - самозаверяющий сертификат, подписанный самоподписанным корневым CA, не принимается

Я хочу настроить ЦС для моей локальной сети. Корневой сертификат должен быть установлен на различных устройствах (iPhone, Windows PC, MacBook). С помощью сертификата сервера я хочу защитить трафик между браузером и веб-сервером (nginx 1.17 на debian 10.1 как обратный прокси).

Я создал корневой сертификат с помощью следующих команд:

# key
openssl genrsa -des3 -out rootCA.key 4096

# root-certificate
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

Затем я создал CSR для определенного сервера:

# key
openssl genrsa -out myserver.local.key 2048

# csr
openssl req -new -key myserver.local.key -out myserver.local.csr

Наконец, я создал сертификат сервера с корневым ключом:

openssl x509 -req -in myserver.local.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out myserver.local.crt -days 500 -sha256

В конфигурации для веб-сервера nginx Я добавил следующие записи:

lists 443 ssl;
server_name myserver.local;
ssl_certificate /etc/nginx/certificates/myserver.local/myserver.local.crt;
ssl_certificate_key  /etc/nginx/certificates/myserver.local/myserver.local.key;
ssl_dhparam /etc/nginx/dhparams.pem;

Я установил корневой сертификат на устройство iOS (версия 13), а затем принял сертификат в настройках (Настройки - Общие - Профиль).

После перезапуска сервера я все еще получаю подсказку, что сертификат не является надежным. К сожалению, iOS не предоставляет мне подробную информацию, поэтому я не могу найти подсказку, с чего начать устранение неполадок. В MacOS с Chrome и Safari я также получаю сообщение об ошибке. Здесь я также импортировал корневой сертификат в связку ключей.

Есть ли у кого-нибудь подсказка о том, что здесь не так?

0
задан 14 October 2019 в 14:52
1 ответ

Вы создали сертификат расширенной проверки (EV)? Это те, которые содержат записи, отличные от CN (например: страна, город).

Я сталкивался с похожей ошибкой отклонения сертификата.

Это связано с расширенной проверкой, расширением, которое мы не включили в сертификат, которое обычно требует, чтобы центр сертификации проверял юридическую идентификацию субъекта.

Источник и информация о том, как решить эту проблему: https://gist.github.com/Soarez/9688998#openssl-ca

0
ответ дан 1 July 2021 в 17:58

Теги

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