Использование Encrypt = yes в строке подключения Sql Server -> «поставщик: поставщик SSL, ошибка: 0 - имя CN сертификата не соответствует переданному значению» - PullRequest
11 голосов
/ 09 сентября 2010

Я использую Encrypt=yes в строке подключения SQL Server, так как мне нужно, чтобы трафик TCPIP был зашифрован, но при открытии соединения я получаю ошибку:

A connection was successfully established with the server, but then an error
occurred during the pre-login handshake. (provider: SSL Provider, error: 0 -
The certificate's CN name does not match the passed value.)

Есть предложения как это исправить? Я предполагаю, что мне нужны какие-то отношения сертификатов между моими серверами, но я не знаю, с чего начать.

Мне нужно это для двух соединений, по одному на сервер SQL 2000 и на сервер 2005.

Ответы [ 2 ]

24 голосов
/ 21 мая 2012

Ваше подключение к базе данных может быть настроено на шифрование трафика и на принятие любого сертификата с вашего сервера. Не грандиозное решение, но оно сработало для меня.

Результирующая строка подключения должна выглядеть следующим образом:

"[...];Encrypt=True;TrustServerCertificate=True"
7 голосов
/ 14 декабря 2011

Я понимаю, что это довольно старый процесс, но подумал, что это может кому-то помочь.

Если на сервере, к которому вы подключаетесь, сертификат не установлен, номер сертификата по умолчанию генерируется при каждой перезагрузке сервера.,Когда это происходит, номер CN меняется и может не совпадать с тем, который у вас есть.

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

Я обновлю его, как только найду ссылку.

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