Осталось с 0 клиентскими сертификатами на выбор при доступе к управлению SSRS.

Окружающая среда:

Службы Reporting Services, работающие на установке SQL Server 2008 R2 с пакетом обновления 3 (SP3) на сервере Windows 2008 с установленным.Net 4.6.1 и включенным.Net 3.5 в качестве функции. IIS, база данных и служба отчетов - все на локальном компьютере (настраиваемый URL-адрес входа на другом компьютере, но, похоже, это не связано).

Изменения сделаны:

По соображениям безопасности мы вынуждены перейти на TLS 1.2, поэтому мы сделали с IISCrypto, включив только TLS 1.2

Результат:

С этого момента мы получаем ошибку только при попытке доступа к сайту управления отчетами. В браузере мы получаем ошибку 500, говорящую:

Основное соединение было закрыто: при получении произошла непредвиденная ошибка

В журналах SSRS мы видим следующее исключение:

System.Net.WebException: базовое соединение было закрыто: при получении произошла непредвиденная ошибка. ---> System.ComponentModel.Win32Exception: клиент и сервер не могут связываться, потому что они не обладают общим алгоритмом

Вызов стека запускается в ReportServer OnInit(), поэтому он сразу не запускается и возникает ошибка при инициализации служб Reporting Services.

Включение трассировки в.Net Framework Я обнаружил следующие сообщения, в которых показано, что сбой происходит, когда SSRS вызывает свои собственные веб-службы:

System.Net Information: 0 : [5076] HttpWebRequest#38854310 - Request: POST /ReportServer/ReportService2010.asmx HTTP/1.1

System.Net Information: 0 : [4124]

SecureChannel#52830003::.ctor(hostname=themachineshostname, #clientCertificates=0)

System.Net Information: 0 : [4124] Enumerating security packages:

System.Net Information: 0 : [4124]     Negotiate

System.Net Information: 0 : [4124]     NegoExtender

System.Net Information: 0 : [4124]     Kerberos

System.Net Information: 0 : [4124]     NTLM

System.Net Information: 0 : [4124]     Schannel

System.Net Information: 0 : [4124]     Microsoft Unified Security Protocol Provider

System.Net Information: 0 : [4124]     WDigest

System.Net Information: 0 : [4124]     TSSSP

System.Net Information: 0 : [4124]     pku2u

System.Net Information: 0 : [4124]     CREDSSP

System.Net Information: 0 : [4124] SecureChannel#52830003 - Left with 0 client certificates to choose from.

System.Net Information: 0 : [4124] AcquireCredentialsHandle(package = Microsoft Unified Security Protocol Provider, intent  = Outbound, scc = System.Net.SecureCredential)

System.Net Error: 0 : [4124] AcquireCredentialsHandle() failed with error 0X80090331.

Вещи уже проверены:

Используемый сертификат все еще действителен, и его цепочка подписей помещена в надлежащие "промежуточные" и "корневые" хранилища.

Запуск пула приложений от имени администратора не помогает.

Использование пользовательского подписанного сертификата, созданного из IIS, не помогает.

Важно: проблема возникает только на сайте управления службами Reporting Services, отчеты работают нормально

Следующие шаги

Есть идеи, что еще попробовать? Есть ли способ узнать, почему пакеты безопасности не выбраны?

Обновить

Проблема не связана с TLS1.2, так как при включении TLS 1 я снова получаю ту же ошибку. Я предполагаю, что URL-адрес входа как-то участвует.

1 ответ

Давайте удостоверимся, что в реестре правильно установлены 2 вещи (как на вашем сервере отчетов, так и на сервере настраиваемого входа в систему IIS). Перезагрузка требуется после изменения настроек досягаемости (по одному, чтобы увидеть, что работает).

Включение клиента / сервера TLS 1.2 в реестре

Идти к HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL и убедитесь, что TLS 1.2 включен, а другие провайдеры отключены. Если TLS 1.2 нет, создайте его. Подробности здесь

Убедитесь, что UseStrongCrypto включен для.NET

Перейдите сюда и убедитесь, что включена надежная криптография.

Примечание: я на мобильном устройстве, поэтому сложно набрать подробный ответ. Если все это работает для вас, я могу добавить более подробную информацию в ответ позже.

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