Браузер не запрашивает сертификат - IIS 10.0

Браузер не запрашивает сертификат - IIS 10.0

У меня есть приложение, которое отлично работало в IIS 8.5, которое использовало эту настройку в файле web.config для входа с клиентским сертификатом (смарт-карта) для пути. Мне пришлось перенести это приложение на IIS 10.0, и все работает, за исключением того, что приложение не запрашивает сертификат, а просто выдает ошибку в коде, что сертификат отсутствует.

Я дважды и трижды проверил все настройки в IIS, сертификат тот же, настройки SSL те же. Приложение представляет собой простое приложение .netcore, и оно отлично работает, за исключением запроса сертификата. Есть ли что-то, что отличается в IIS 10 от 8.5, что я мог упустить? Часть web.config, которая позволяет браузеру запрашивать сертификат, я полагаю, находится здесь. Разработчик, который это сделал, больше не с нами, и я был бы признателен за любую помощь в этом. Есть ли что-то, что мне нужно проверить в IIS, помимо того, что я уже проверил?

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

<location path="SmartCard">
<system.webServer>
  <security>
    <access sslFlags="Ssl,SslNegotiateCert" />
  </security>
</system.webServer>

решение1

Всевещи, являющиесяравный, этодолженработают так же!

Но это ключевая часть - возможно, не все вещи равны выше уровня ? web.config(или ниже - что web.config будет применяться только к папке SmartCard, которая является частью того же пути HTTP URL, на основе этогорасположениеярлык)

Windows\System32\InetSrv\config\ApplicationHost.configимеет тенденцию накапливатьсявещиСо временем люди вносят изменения в конфигурацию сервера и забывают об этом.

Итак, возможные варианты:

  • Проверьте наличие сертификата сервера.с закрытым ключомустановлены и что привязки сайта включают HTTPS

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

    • за бонусные баллы, что-то вроде Web Deployment Tool может помочь в этом
    • ручной метод:
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >working.txt(на рабочем сервере)
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >NONworking.txt(на... как вы уже догадались, нерабочем сервере!)
      • а потомсравниватьих с помощью текстового редактора или здравого взгляда
      • не указывайте /text:*, если вы предпочитаете XML
  • Добавьте к этому NETSH SHOW SERVICESTATEсравнение для быстрого обзора очередей HTTP.SYS

На самом деле это сокращенная версия - вы также можете посмотреть полное содержимое, applicationhost.configне отфильтрованное по сайту (и организованное сначала разумно, а затем линейно с последующими изменениями) в Windows\System32\InetSrv\Config, и этомощьбыть проще (или намного сложнее).

Связанный контент