Ошибка: Несоответствие имени сертификата

Обсуждение Stimulsoft Ultimate
Ответить
Аватара пользователя
compositum
Сообщения: 259
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Ошибка: Несоответствие имени сертификата

Сообщение compositum »

Доброго времени суток.

Исходные данные: Mac M1, .NET 8, MS SQL Server работающий в контейнере Docker.

Скачал официальные примеры для Avalonia и ASP .NET MVC отсюда: https://publish.stimulsoft.com/

Оба проекта успешно компилируются и запускаются, после чего без ошибок отображается пустой бланк отчёта.

Через Stimulsoft Designer редактирую этот отчёт: подключаю его к БД и отображаю в отчёте простую табличку с данными. Дизайнер успешно показывает результат. При этом я не вношу изменения в сам исходный код приложения за исключением того, что в приложении с Avalonia потребовалось повысить версии NuGet-пакетов, иначе оно не компилировалось.

Однако, если после этого я повторно запускаю те же самые демонстрационные приложения, то теперь в них всегда получаю одну и ту же ошибку:
Unhandled exception. Microsoft.Data.SqlClient.SqlException (0x80131904): Подключение к серверу успешно установлено, но затем произошла ошибка в процессе подтверждения, предшествующего входу. (provider: Поставщик TCP, error: 35 - Перехвачено внешнее исключение)
---> System.Security.Authentication.AuthenticationException: Цепочка сертификатов не прошла проверку. Ошибки: "The certificate was not trusted., [Status: UntrustedRoot]
".
Несоответствие имени сертификата. Указанное имя "DataSource" или "HostNameInCertificate" не соответствует имени в сертификате.
Подскажите, пожалуйста, в чём может быть дело? О каких сертификатах идёт речь?

Спасибо.
Вложения
Снимок экрана 2025-05-22 в 21.01.37.png
Снимок экрана 2025-05-22 в 21.01.37.png (88.88 КБ) 64 просмотра
Последний раз редактировалось compositum 22 май 2025, 21:02, всего редактировалось 1 раз.
Аватара пользователя
compositum
Сообщения: 259
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Re: Ошибка: Несоответствие имени сертификата

Сообщение compositum »

Заменил лицензионный ключ, который был задан в коде примера через Stimulsoft.Base.StiLicense.Key на свой (указан в личном кабинете), но проблема не исчезла.
Aleksey
Сообщения: 2996
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка: Несоответствие имени сертификата

Сообщение Aleksey »

Здравствуйте,

Ошибка, которую вы наблюдаете, связана с SSL-соединением между .NET-приложением и SQL Server, работающим в Docker-контейнере. Она возникает из-за того, что в .NET 8 Microsoft усилила требования к безопасности, особенно в библиотеке Microsoft.Data.SqlClient, и теперь по умолчанию используется SSL-подключение с проверкой сертификата сервера.

Вот разбор причины и варианты решений:
1 TrustServerCertificate=true
"Server=localhost,1433;Database=MyDb;User Id=sa;Password=Your_password123;TrustServerCertificate=true;"
2 Установить доверенный сертификат
3 Запустить SQL Server в Docker без SSL
Добавьте параметр в docker run или docker-compose.yml:
MSSQLCONF="-e MSSQL_TLS_ENFORCED=0"

Или отключите Force Encryption в настройках SQL Server (если доступно).

Спасибо.
Аватара пользователя
compositum
Сообщения: 259
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

Re: Ошибка: Несоответствие имени сертификата

Сообщение compositum »

Aleksey писал(а): 23 май 2025, 11:18 Ошибка, которую вы наблюдаете, связана с SSL-соединением между .NET-приложением и SQL Server, работающим в Docker-контейнере. Она возникает из-за того, что в .NET 8 Microsoft усилила требования к безопасности, особенно в библиотеке Microsoft.Data.SqlClient, и теперь по умолчанию используется SSL-подключение с проверкой сертификата сервера.

Вот разбор причины и варианты решений:
1 TrustServerCertificate=true
"Server=localhost,1433;Database=MyDb;User Id=sa;Password=Your_password123;TrustServerCertificate=true;"
Спасибо! Выполнил первый указанный вами пункт и проблема исчезла.
Aleksey
Сообщения: 2996
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка: Несоответствие имени сертификата

Сообщение Aleksey »

Здравствуйте,

Отлично.
Ответить