SQL Server с TLS 1.2 из .NET Core с ODBC - PullRequest
0 голосов
/ 23 февраля 2019

Я знаю, что это происходило миллион раз, но, видимо, не с .NET Core, использующим System.Data.Odbc.

С включенным TLS 1.0 в реестре, я получаю ошибку:

{System.Data.Odbc.OdbcException (0x80131937): ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error

ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECDoClientHandshake()).

Я получаю эту ошибку при запуске сайта ASP.NET Core на сервере, на котором размещен SQL Server, но также с использованием разработчикамашина на клиенте Windows 10, подключается к удаленному SQL Server.

SSMS работает и нормально подключается как на сервере, так и на клиенте.Когда я включаю поддержку TLS 1.0 и перезапускаю SQL Server, сайт работает нормально как на сервере, так и на клиенте.(Нет необходимости перезагружаться, чтобы увидеть разницу).

Чтобы быть уверенным, что я включил поддержку FIPS, хотя я где-то читал, что это больше не нужно.

Это конфигурация:

  • Windows Server 2016 (в курсе)
  • SQL Server 2016 SP2 с последними обновлениями
  • Просто чтобы быть уверенным, я также установил .NET 4.7, хотяЯ этим не пользуюсь.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001

Я подозреваю, что System.Data.Odbc для .NET Standard 2.0 не поддерживает1.2.Я хотел бы получить помощь и указатели.

[EDIT] @TallTed это то, что установлено, он должен поддерживать TLS 1.2:

  • Собственный клиент Microsoft SQL Server 2012 с версией11.4.7001.0
  • Драйвер Microsoft ODBC 17 для SQL Server с версией 17.3.1.1
  • Драйвер Microsoft ODBC 11 для SQL Server с версией 12.2.5543.11
  • Драйвер Microsoft ODBC 13 дляSQL Server с версией 14.0.1000.169

1 Ответ

0 голосов
/ 23 февраля 2019

System.Data.Odbc не проблема;[Microsoft][ODBC SQL Server Driver][DBNETLIB] is.

Решение состоит в том, чтобы получить (или подтвердить, что вы используете) более свежий драйвер ODBC для SQL Server, от Microsoft или от моего работодателя или от другого поставщика ...

...