Спасибо за чтение.
У меня есть тестовый сервер, на котором я пытаюсь реализовать зашифрованную связь с использованием SSL / TLS. Связь осуществляется между IIS (веб-сервером, на котором опубликовано приложение asp.net) и NGINX на удаленном сервере.
У меня возникают проблемы с установлением связи, поскольку IIS отправляет пустой сертификат в NGINX, когда NGINX отправляет запрос сертификата в IIS. Промежуточный сертификат на сервере Windows - это то, что ожидает NGINX.
Я обнаружил, что существует неработающая связь между SSL-сертификатом приложения ASP.NET и промежуточным сертификатом.
Это внутренняя среда разработки, поэтому связь ssl / tls должна быть установлена только с использованием самостоятельно назначенного сертификата.
Теперь, когда я проверил SSL с помощью онлайн-проверки, я получил следующий снимок.
Я считаю, что битая ссылка здесь может быть причиной отсутствия шифрованной связи. Я не уверена.
Спасибо, что прочитали мой пост.
В вашей цепочке нет промежуточных звеньев, поэтому их нельзя отправить.
Через TLS передается сертификат конечного объекта (клиентская или серверная аутентификация, в зависимости от того, кто его отправляет), а также любые промежуточные звенья, но НЕ самовыданный корневой сертификат.
У вашей системы уже должен быть корневой сертификат для определения доверия, и у вашей системы уже должен быть способ построения цепочек, поэтому разработчики TLS решили, что отправка корневого сертификата - это пустая трата байтов в сети.
* Root
|
-- * Intermediate 1
|
-- * Intermediate 2
|
-- * Intermediate 3
|
...
|
-- * End-Entity / Leaf
Самая современная инфраструктура - это Root -> One Intermedate -> End-Entity.