Odbc sql server driver ошибка безопасности ssl

Обновлено: 16.07.2024

Connection failed:
SQLState: '01000'
[Microsoft][ODBC SQL Server Driver][TCP\IP Sockets]ConnectionOpen (SECCreateCredentials()).
Connection failed:
SQLState '08001'
SQL Server Error: 18
[Microsoft][ODBC SQL Server Driver][TCP\IP Sockets] SSL Security error

Ошибка и при проверки подлинности Windows, и через проверку учетки SQL сервера.
галка у "Обязательное шифрование протокола" на клиенте не стоит.
на сервере параметр "Приндительное шифрование" = нет.

Security=True;Trusted_Connection=True;",
то этой ошибки не возникает!

Как можно подключиться к SQL серверу через ODBC ?

Connection failed:
SQLState: '01000'
[Microsoft][ODBC SQL Server Driver][TCP\IP Sockets]ConnectionOpen (SECCreateCredentials()).
Connection failed:
SQLState '08001'
SQL Server Error: 18
[Microsoft][ODBC SQL Server Driver][TCP\IP Sockets] SSL

абсолютна такая же проблема, что делать?

имеется ввиду, что на МОЕЙ машине сервер не стоит.
коннекчусь к другой машине через открытый порт 3433

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

и я что-то не пойму, вы к словам придираетесь или помочь хотите?

в разных местах:
1. пытался законнектится через компонент ANYDac
2. пытался сделать тоже самое соединение через Администратора источников данных

ошибка одна и та же, ругаются на SSL шифрование, которого и в помине не стоит ни у меня, ни у сервера

если захожу в Манаджмент Студию, то в ней коннект проходит без проблем

давайте так сделаем, "они-то посмотрели", но может не то и не там.
вы из студии попадаете на сервер?
выполните

давайте так сделаем, "они-то посмотрели", но может не то и не там.
вы из студии попадаете на сервер?
выполните

Эта статья поможет вам решить проблему, которая возникает при попытке сделать зашифрованное подключение к SQL Server.

Оригинальная версия продукта: SQL Server
Исходный номер КБ: 2007728

Причина

Эта ошибка возникает при попытке сделать зашифрованное подключение SQL Server с помощью не поддаемого проверке сертификата. Это может произойти в следующих сценариях:

Сценарий Шифрование на стороне сервера Шифрование на стороне клиента Тип сертификата Полномочия по выдаче сертификатов, присутствующие в хранилище Доверенные корневые органы сертификации
1 Да Нет Вы выдаёте сертификат из не доверенного источника (орган по выдаче сертификатов не указан в качестве доверенного органа в доверенных корневых органах сертификации на клиентской машине) Нет
2 Выкл. Да SQL Server самогенерирован сертификат Самозаверяемые сертификаты не показываются в этом магазине.

Симптомы

[Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error

101673-ssl-security-error.jpg

Hi Leads,
When we connect ODBC connection error on windows server2012 R2.
Please find the attached file which is having error. Kindly help on this resolve this issue.

OS: Windows Server 2012 R2
SQL version: SQL Server 2012
ODBC version: 12.64.00.00

Hi @SelvamPrabhakarPanner-3711, we have not get a reply from you. Did any answers could help you? If there have any answers helped you, please do "Accept Answer". If not, please let us know. By doing so, it will benefit for community members who have this similar issue. Your contribution is highly appreciated. Thank you!

2 Answers

What does "SELECT @@version" report?

The most likely this is a TLS issue where one component uses TLS 1.0 and the other wants TLS 1.2. I don't know the ODBC version numbers by heart, but you can always download and install the most recent ODBC driver which is ODBC 17. Don't forget to change the connection string.

Welcome to Microsoft Q&A!

101953-1.jpg

Are you use TLS 1.0 or TLS 1.2? And please check Erland mentioned SELECT @@version . If you use TLS 1.2, not every SQL Server release is supposted TLS 1.2, please refter to KB3135244 - TLS 1.2 support for Microsoft SQL Server:

If the answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

Особенность всех клиентов: установлен КриптоПро 3.6.7092, ViPNet CSP 3.2.
Особенность этого клиента: Win7 SP1 (клиенты работающие без ошибок - WinXP)

Собственно ODBD DSN:

Что пробовали:
Делать ODBD DSN через [SQL Server Native Client 10.0], получили похожее:

Пробовали конектится с этой машины на другие sql-сервера в сети - та же ошибка SECEncryptData

Ничего не помогло - ошибка стабильно та же.

ФирмА Гендальф знает ответ:

да, забыл сказать, есть касперский 10 энтерпрайз, впрочем как и на всех прочих клиентах.

Решение

Если для шифрования подключений в SQL Server используется сертификат из не доверенного органа или самозаверяется сертификат, можно использовать один из следующих вариантов:

Для сценария 1. Добавьте полномочия сертификата в хранилище доверенных корневых органов сертификации на клиентном компьютере, инициационав зашифрованное подключение. Для этого выполните экспорт сертификата сервера и установите корневой орган сертификата (CA) на процедуры клиентской машины, указанные ниже в этой последовательности.

Экспорт сертификата сервера.

В примере в качестве файла сертификата используется файл с именем caCert.cer. Этот файл сертификата необходимо получить на сервере. Следующие действия объясняют, как экспортировать сертификат сервера в файл:

В MMC откройте сертификаты.

Расширение персональных и затем сертификатов.

Щелкните правой кнопкой мыши сертификат сервера, а затем выберите Все задачи\Экспорт.

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

Убедитесь, что либо DER закодирован двоичный X.509 (. CER) или Base-64, закодированные X.509 (. CER) выбирается, а затем нажмите кнопку Далее.

Введите имя экспортного файла.

Установка органа корневого сертификата (CA) на клиентской машине

Запустите оснастку сертификатов для MMC на клиентский компьютер и добавьте оснастку Сертификаты.

В диалоговом окне "Сертификаты" выберите учетную запись Компьютера и выберите Далее.

В области Выбор компьютера выберите локальный компьютер: (на компьютере эта консоль запущена), а затем выберите Finish.

Выберите ОК, чтобы закрыть диалоговое окно Add или Remove Snap-ins.

В левой области MMC расширь узел Сертификаты (Локальный компьютер).

Развяжите узел Доверенные корневые органы сертификации, щелкните правой кнопкой мыши подмостки Сертификаты, выберите все задачи, а затем выберите Импорт.

В мастере импорта сертификатов на странице Welcome выберите Далее.

На странице Импорт файлов выберите Просмотр.

Просмотрите расположение файла сертификата caCert.cer, выберите файл и выберите Открыть.

На странице Файл импортировать выберите Далее.

На странице Хранилище сертификатов примите выбор по умолчанию и выберите Далее.

На странице Завершение мастера импорта сертификатов выберите Finish.

Для сценариев 1 и 2. Установите параметр сертификата trust Server до true в клиентских приложениях.

Дополнительные сведения о том, как это сделать, просмотрите следующие разделы:

Использование шифрования без проверки в SQL Server Native Client.

Подключение с шифрованием с помощью драйвера Microsoft JDBC для SQL Server.

Использование шифрования с помощью Sqlclient.

Если вы используете SQL Server Management Studio, вы можете нажать на вкладку Параметры и проверить параметр сертификата доверяемого сервера в вкладке Свойства подключения.

Внимание: Соединения SSL, зашифрованные с помощью самозаверяемого сертификата, не обеспечивают сильной безопасности. Они подвержены man-in-the-middle атакам. Не следует полагаться на SSL с помощью самозаверяемого сертификата в производственной среде или на серверах, подключенных к Интернету.

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

Настройка двигателя базы данных для использования шифрования в рамках процедуры Включить зашифрованные подключения к ядро СУБД

Если шифрование не требуется:

Отключение параметров шифрования (если таково) в клиентских приложениях.

Отключить шифрование на стороне сервера с помощью SQL Server диспетчера конфигурации. Дополнительные сведения о том, как это сделать, просмотрите Configure Server.

Ошибка | Проверка SqlServerValidator: Ошибка: не удается подключиться к следующей SQL Server: «Имя сервера». Убедитесь, что сервер работает и что имеются административные учетные данные SQL Server. [DBNETLIB] [ConnectionOpen (SECDoClientHandshake()).] Ошибка безопасности SSL.

Причина

Мастер Dynamics CRM Server 2016 требует проверки подключения через Поставщик Microsoft OLE DB для SQL Server , чтобы начать создание базы данных. Документацию по установке список программное обеспечение устанавливается во время установки. Это включает Собственный клиент Microsoft SQL Server. Программа установки использует этот собственный клиент и на этапе создания базы данных конфигурации подключения OLE DB не требуется.

Этот сбой подключения воспроизводит при создании подключения теста для данного SQL Server с использованием файла UDL.

Сохраните файл с именем «Test.udl связи» и тип файла как «Все файлы»

Откройте сохраненный файл

Выберите поставщик Microsoft OLE DB для SQL Server в качестве поставщика

Содержат подробные сведения подключения и проверки подлинности сервера

Проверьте подключение или открыть список баз данных

Завершается неудачей, поскольку TLS 1.0 должно быть включено для поставщика OLE DB для SQL Server требуется безопасное подключение между Dynamics CRM Server 2016 и SQL Server. И SQL Server может не иметь TLS 1.0 для безопасного канала связи.

Может произойти сбой подключения, даже если TLS 1.1 и 1.2 включена в SQL Server как поставщик OLE DB для SQL Server поддерживает только протокол TLS 1.0. Для поставщиков, указанных в этой статье, обеспечивает поддержку TLS 1.2.

Решение

Включите протокол TLS 1.0 для поставщика Microsoft OLE DB для SQL Server в SQL Server. Протокол TLS 1.0 могут быть включены следующие изменения реестра:

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

Если политика организации требует отключения TLS 1.0, это можно сделать после завершения установки:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000001

Протокол TLS 1.0 также может потребоваться включить Dynamics CRM Server 2016 как клиент.

Дополнительные сведения

Протокол TLS 1.0 может быть отключена на SQL Server и сервера 2016 Dynamics CRM после завершения установки, если политика организации требует отключен протокол TLS 1.0.

Всякий раз, когда я использую драйвер JtDS (предложенный, например. этот пост ), я все еще не могу подключиться к серверу SQL и получаю следующую ошибку.

Строка подключения, которую я использую: (используя jtds)

OR когда не используется jtds..

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

Я запускаю macOS Sierra version 10.21

EDIT:

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

3 ответа

Я сдался! Перепробовал все и потерпел неудачу. Каждый раз, когда я пытаюсь развернуть этот файл .ear (как в названии этого поста), я получаю эту ошибку: Caused by: java.security.spec.InvalidKeySpecException: Unknown KeySpec type: java.security.spec.ECPublicKeySpec Я включаю стек trace ниже.

Я пытаюсь подключиться к SQL Server 2014 с Java 7 через драйвер JDBC, и ошибка, которую выдает приложение, такова : Драйвер не смог установить безопасное соединение с SQL Server с помощью шифрования Secure Sockets Layer (SSL). Ошибка: SQL Server returned an incomplete response. The connection has.

  • открыть terminal
  • запустить scutil --getHostName
  • если имя хоста не задано или содержит .local, запустите sudo scutil --set HostName "<YOUR HOSTNAME HERE>"

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

Ваш "network at home", я полагаю, находится вне брандмауэра, защищающего серверы баз данных, к которым вы пытаетесь подключиться. Следовательно, ваши попытки подключения к базе данных в этом случае игнорируются из-за защиты брандмауэра.

Если эти предположения верны, вам нужно будет связаться с сетевым администратором "different network", чтобы получить доступ через брандмауэр из вашей домашней сети.

Надеюсь, это поможет.

Пожалуйста, сделайте свою строку url , как показано ниже, и добавьте sqljdbc42.jar в свой проект

Я довольно долго искал по этому поводу, но пока не нашел решения, в настоящее время я пытаюсь установить соединение с SQL Server Connection con = ds.getConnection но я получаю это исключение: Cannot create PoolableConnectionFactory (The driver could not establish a secure connection to SQL Server.

мы развернуть приложение на сервере приложений WebSphere 9.0.0.3 и подключение к базе данных сервера SQL 2014. Но при подключении к базе данных мы получаем ниже SQL ошибку исключения. Не могли бы вы помочь мне в этом вопросе? Ошибка: Caused by: org.hibernate.exception.GenericJDBCException: Unable.

Похожие вопросы:

Я пытаюсь подключиться к моей компании Microsoft sql через мой код groovy. Использование этого кода: String conn=.

Я использовал этот код для создания соединения с SQL Server. String connectionUrl = jdbc:sqlserver://IP:1433; + databaseName=db;user=db;password=pwd; Connection con = null; try < // Establish the.

Я получаю следующую ошибку при подключении к базе данных SQL Server с использованием версии драйвера Microsoft JDBC: com.microsoft.sqlserver.jdbc.SQLServerException: драйвер не смог установить.

Я сдался! Перепробовал все и потерпел неудачу. Каждый раз, когда я пытаюсь развернуть этот файл .ear (как в названии этого поста), я получаю эту ошибку: Caused by.

Я пытаюсь подключиться к SQL Server 2014 с Java 7 через драйвер JDBC, и ошибка, которую выдает приложение, такова : Драйвер не смог установить безопасное соединение с SQL Server с помощью шифрования.

Я довольно долго искал по этому поводу, но пока не нашел решения, в настоящее время я пытаюсь установить соединение с SQL Server Connection con = ds.getConnection но я получаю это исключение: Cannot.

мы развернуть приложение на сервере приложений WebSphere 9.0.0.3 и подключение к базе данных сервера SQL 2014. Но при подключении к базе данных мы получаем ниже SQL ошибку исключения. Не могли бы вы.

Я получаю ошибку [microsoft] [ODBC SQL Server драйвер][DBMSLPCN]SSL ошибка безопасности при подключении через SQLDriverConnect () с помощью строки подключения .

Когда я пытаюсь подключиться к экземпляру MS SQL Server 2017 Express из JSP с помощью драйвера JDBC 4.2, я получаю следующую ошибку. com.microsoft.sqlserver.jdbc.SQLServerException: драйверу не.

Я нашел одну статью, которая была близка к проблеме, с которой я сталкиваюсь. Это он и есть: SQL Server JDBC ошибка на Java 8: драйверу не удалось установить безопасное соединение с SQL Server с.

Наш клиент недавно обновил TLS 1.0 до TLS 1.2, и после этого наше программное обеспечение не может подключиться к SQL-серверу. Для подключения к серверу SQL используется поставщик OLE DB. Ниже приведена ошибка, которая возвращается с сервера SQL.

[DBNETLIB] [ConnectionOpen SECDoClientHandshake ()] Ошибка безопасности SSL Состояние SQL: 08001 Номер ошибки SQL: 18

Не удалось найти какую-либо полезную информацию о том, поддерживает ли поставщик Microsoft OLE DB для SQL Server TLS 1.2 или нет.

Следовательно, я хотел проверить стекопоток на случай, если у кого-то есть какая-либо информация по этому вопросу.

4 ответа

Поставщик SQLOLEDB и драйвер ODBC для SQL Server, поставляемые с Windows, являются устаревшими компонентами, предоставленными только для обратной совместимости. Они устарели с SQL 2005.

Вы должны иметь возможность установить SQL Server Native Client 2012 и использовать этого поставщика OLE DB только с изменением строки подключения (измените Provider=SQLOLEDB на Provider=SQLNCLI11 ). Конечно, стоит один раз проверить, чтобы избежать неожиданностей. Например, я вспоминаю, как кто-то испытывал различия в поведении с поставщиком собственного клиента SQL Server и классическим ADO, когда использовались серверные курсоры API, хотя обычно используемые пожарные курсоры были хорошими.

Новый драйвер OLE DB, MSOLEDBSQL, был выпущен , Этот новый драйвер включает поддержку последних стандартов TLS 1.2 и обратно совместим с собственным клиентом SQL Server 11 (SQLNCLI11). См. раздел Объявление блога команды Microsoft SQLNCLi.

Новый драйвер Microsoft OLE DB для SQL Server, или msoledbsql, будет также ввести возможности переключения нескольких подсетей в этом первом готовится к выпуску, и соответствует последним стандартам TLS 1.2 .

Кроме того, этот первый предстоящий выпуск будет автономным установочным пакетом, который находится вне диапазона жизненного цикла SQL Server. Это также означает, что драйвер не будет упакован в библиотеку SNAC и не будет связан с каким-либо другим драйвером.

Это может не дать прямого ответа на вопрос, но оно все равно связано с подключением к серверу sql с ошибкой TLS 1.2.

Я поддерживаю старый сайт ASP Classic, который сломался со следующей ошибкой.

Изменение Provider с SQLOLEDB на SQL Server Native Client 11.0 или любой более доступной версии, которая доступна, исправило ошибку.

Таким образом, изменяя строку подключения с

Может работать тоже

Следующие изменения с моей стороны устранили проблему после обновления TLS1.2 в облаке Azure -

Читайте также: