Персональный сертификат SSL ссылка на промежуточный сертификат не работает

Спасибо за чтение.

У меня есть тестовый сервер, на котором я пытаюсь реализовать шифрованное соединение с использованием SSL/TLS. Связь между IIS (веб-сервером, на котором опубликовано приложение asp.net) и NGINX на удаленном сервере.

У меня проблема с установлением связи, поскольку IIS отправляет пустой сертификат в NGINX, когда NGINX отправляет запрос сертификата в IIS. Промежуточный сертификат на сервере Windows - это то, что ожидает NGINX.

Я обнаружил, что между SSL-сертификатом приложения ASP.NET и промежуточным сертификатом существует неработающая связь.

Это внутренняя среда разработки, поэтому связь ssl/tls должна быть упрощена только с использованием самозаверяющего сертификата.

Личный снимок сертификата

Теперь, когда я проверил SSL с помощью онлайн-проверки, я получаю следующий снимок.

Проверка SSL онлайн

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

Спасибо за чтение моего поста.

1 ответ

Решение

В вашей цепочке нет промежуточных звеньев, поэтому их нельзя отправить.

По TLS передается сертификат конечного объекта (аутентификация клиента или сервера, в зависимости от того, кто его отправляет) вместе с любыми промежуточными продуктами, но НЕ самопровозглашенный корневой сертификат.

В вашей системе уже должен быть корневой сертификат для определения доверия, а в вашей системе уже должен быть способ построения цепочек, поэтому разработчики TLS решили, что отправка корневого сертификата является пустой тратой байтов.

* Root
|
-- * Intermediate 1
   |
   -- * Intermediate 2
      |
      -- * Intermediate 3
         |
         ...
            |
            -- * End-Entity / Leaf

Самая современная инфраструктура - это Root -> One Intermedate -> End-Entity.

Другие вопросы по тегам