Я хочу настроить ЦС для моей локальной сети. Корневой сертификат должен быть установлен на различных устройствах (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 я также получаю сообщение об ошибке. Здесь я также импортировал корневой сертификат в связку ключей.
Есть ли у кого-нибудь подсказка о том, что здесь не так?
Вы создали сертификат расширенной проверки (EV)? Это те, которые содержат записи, отличные от CN
(например: страна, город).
Я сталкивался с похожей ошибкой отклонения сертификата.
Это связано с расширенной проверкой, расширением, которое мы не включили в сертификат, которое обычно требует, чтобы центр сертификации проверял юридическую идентификацию субъекта.
Источник и информация о том, как решить эту проблему: https://gist.github.com/Soarez/9688998#openssl-ca