UniDAC + MySQL + SSL

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Ответить
mdsf
Сообщения: 36
Зарегистрирован: Сб 26 янв 2013 06:34

UniDAC + MySQL + SSL

Сообщение mdsf » Ср 13 мар 2019 13:30

Подключаю UniDAC 7.4.12 в Lazarus 2.0 на Ubuntu 16 к MySQL 5.7.25:

Код: Выделить всё

  UniConnection.ProviderName := 'MySQL';
  UniConnection.Server := '192.168.1.10';
  UniConnection.SpecificOptions.Values['Protocol'] := 'mpSSL';
  UniConnection.SpecificOptions.Values['SSLCACert'] := '/home/c/ca.pem';
  UniConnection.SpecificOptions.Values['SSLCert'] := '/home/c/client-cert.pem';
  UniConnection.SpecificOptions.Values['SSLKey'] := '/home/c/client-key.pem';
  UniConnection.SpecificOptions.Values['UseUnicode'] := 'true';
  UniConnection.Port := 3306;
  UniConnection.Username := 'user';
  UniConnection.Password := 'pass';
  UniConnection.Database := 'db';
  UniConnection.Connect;
При попытке подключения выдаёт исключение:
:Exception
:Exception
E.png (8.59 КБ) 5913 просмотров

Эти сертификаты, как и сам сервер, 100% рабочие - подключаюсь к нему из Windows и Android, и всё ок.

Библиотеки SSL обновлены.


???

ViktorV
Devart Team
Сообщения: 199
Зарегистрирован: Чт 31 июл 2014 09:52

Re: UniDAC + MySQL + SSL

Сообщение ViktorV » Ср 13 мар 2019 14:53

UniDAC использует следующие имена библиотек OpenSSL: libeay32.dll и ssleay32.dll. Вы можете деплоить данные библиотеки со своим приложением, чтобы не зависеть от наличия данных библиотек на компьютере. Но использование библиотек OpenSSL для создания соединений SSL с MySQL сервером может привести к возникновению различных проблем. Например, версия OpenSSL может не поддерживаться сервером MySQL, битность поставляемых OpenSSL библиотек может отличаться от битности вашего приложения и т.д.
Для решения проблем вы можете использовать компоненты SecureBridge. SecureBridge позволяет устанавливать безопасные соединения в одном приложении без каких-либо внешних файлов. Вы можете узнать, как использовать SecureBridge с UniDAC в разделе «Secure connections» справки MyDAC.
Вы можете увидеть пример работы UniDAC и SecureBridge в демонстрационных проектах: %UniDACDemos%\TechnologySpecific\SecureBridge, где %UniDACDemos% - это путь установки демонстрационных проектов UniDAC на вашем компьютере.

mdsf
Сообщения: 36
Зарегистрирован: Сб 26 янв 2013 06:34

Re: UniDAC + MySQL + SSL

Сообщение mdsf » Чт 14 мар 2019 07:15

DLL? А это точно совместимо с Lazarus 2.0 на Ubuntu (не Windows)?

ViktorV
Devart Team
Сообщения: 199
Зарегистрирован: Чт 31 июл 2014 09:52

Re: UniDAC + MySQL + SSL

Сообщение ViktorV » Чт 14 мар 2019 07:51

Да, вы правы, указанные нами библиотеки относятся к Windows платформе. Для Ubuntu следует использовать libssl.so. Но, как мы писали ранее, лучше использовать связку UniDAC - SecureBridge, так как использование библиотек OpenSSL может привести к возникновению различных проблем.

Ответить