Отключите запрос сертификата клиента TLS Handshake в приложении Service Fabric - PullRequest
1 голос
/ 21 мая 2019

Я создаю веб-сервис в Azure Service Fabric и работаю на контейнерах Docker в .net Core 2.0.Служба предназначена для вызова клиентами, которые не могут предоставить сертификат клиента для рукопожатия взаимной проверки подлинности TLS, однако моя служба запрашивает этот сертификат, в результате чего клиенты сбрасывают соединение и не получают ответиз службы.

В моем коде установки я запускаю эту команду netsh для привязки сертификата SSL к порту 443:

netsh.exe http add sslcert ipport=0.0.0.0:443 certhash=E362F4AB1FC4227F3010952876B505D510B0F6AA appid={8e6ea06d-b92f-4d99-911a-3c68de243eb4} verifyclientcertrevocation=enable clientcertnegotiation=disable'

, который успешно завершен, и привязка установлена, нокогда клиенты звонят в службу (или когда я пытаюсь позвонить из браузера или из Fiddler / Postman), я все равно получаю запрос на сертификат клиента.При просмотре документации, параметр «clientcertnegotiation» является здесь важной частью, и, насколько я понимаю, он должен быть отключен для удаления запроса сертификата клиента.

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

Я не уверен, что что-то неправильно настроено на стороне кластера SF, поэтому я также изучил конфигурацию там.Я нашел свойство безопасности с именем «ProtectionLevel», для которого было установлено «EncryptAndSign».В поисках информации об этом я нашел эту страницу в документации Microsoft: Понимание уровня защиты .

Я не уверен, что правильно анализирую информацию на этой странице, но я подумалэто может быть связано, поэтому я провел тестирование в среде разработки, чтобы выяснить, получу ли я приглашение, если для параметра «ProtectionLevel» задано значение «Нет», но мне все равно был предложен сертификат.

Я такжея использую CORS, хотя я сомневаюсь, что это как-то связано с настройкой взаимной TLS, и я получил то же поведение, независимо от того, был ли включен CORS.

Существуют ли другие параметры Service Fabric или настройки уровня приложения, которые могли быпереопределить мою конфигурацию привязки SSL?Маршрутизация Service Fabric осуществляется через другую службу, которая запрашивает сертификат клиента?

1 Ответ

0 голосов
/ 21 мая 2019

Я бы предположил, что "verifyclientcertrevocation = enable ", вероятно, заставляет его запрашивать сертификат, независимо от "clientcertnegotiation = disable "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...