Название: SSL в QDataBase Отправлено: DpoHro от Январь 26, 2008, 13:20 Задача состоит в защите соединения.
Вот так устанавливая соединение, шифрации не происходит. И пакеты летят открыто. Код: db = QSqlDatabase::addDatabase("QMYSQL", "CONN"); Наверняка есть среди Вас уже то, кто уже выяснил в чем тут дело? И вообще какая подготовительная работа должна быть проведена перед использованием SSL? Название: Re: SSL в QDataBase Отправлено: WW от Январь 26, 2008, 16:53 Ну, во первых: Qt должна быть собрана с поддержкой SSL, во вторых - сервер должен быть сконфигурирован для поддержки SSL.
Название: Re: SSL в QDataBase Отправлено: DpoHro от Январь 26, 2008, 18:46 Ну, во первых: Qt должна быть собрана с поддержкой SSL, во вторых - сервер должен быть сконфигурирован для поддержки SSL. Хм... то есть если собрать без SSL то работать флаг этот не будет?Верно ли я понял, что ты именно с этим сталкивался? Странно то для меня это потому, что как то это должно работать если я собрал с поддержкой SQL, как то странно SQL включил, а работает неполностью... Название: Re: SSL в QDataBase Отправлено: ритт от Январь 26, 2008, 19:39 и знаки препинания наличествуют, и буквы знакомые, а смысл последнего предложения для меня непостижим...
Название: Re: SSL в QDataBase Отправлено: DpoHro от Январь 26, 2008, 19:49 Действительно =)
Смысл таков: Я включаю поддержку sql при компиляции, но в итоге она работает не полностью, то есть не могу соединиться с БД в защищенном режиме. Но это лирика. Мне интересно знать: 1) через 2,5 часа компиляции с поддержкой SSL я получу возможность установить SSL соединение при условии, что сервер правильно сконфигурирован? 2) какие проблемы могут возникнуть при компиляции этого дела в некоммерческой Qt4.3.2? Название: Re: SSL в QDataBase Отправлено: WW от Январь 26, 2008, 21:54 1) да.
2) никаких. Название: Re: SSL в QDataBase Отправлено: DpoHro от Февраль 04, 2008, 18:46 Ясно, QT пересобрал, но вот никак не могу понять какой порядок действий по настройке самого сервера, да и mySQL клиент я так понимаю должен поддерживать SSL и для этого похоже его нужно перекомпилировать...
Жесть... Название: Re: SSL в QDataBase Отправлено: Anhel от Апрель 11, 2008, 15:50 Перекомпилиовать придётся, это да.
У меня такой вопрос, продолжающий тему: Сервер mysqld можно собрать, а потом запустить с поддержкой SSL. Для этого надо ему указать ключи --ssl-ca=сертификат или --ssl-cert=... А как при настройке соединения посредством QSqlDatabase указать используемый для соединения сертификат? Перекопал все доки, перекопал поисковики - ничего не нашёл. Мож, я чего-то не особо понимаю? ??? Помогите, кто имел опыт доступа к MySQL из QSqlDatabase через SSL. Название: Re: SSL в QDataBase Отправлено: Anhel от Апрель 21, 2008, 12:30 Хочу поделиться опытом немного.
Собрать mysqld с поддержкой SSL - эт не сложно (./configure --with-yassl или ./configure --with-openssl="..."). Далее: с помощью чего угодно (например, OpenSSL) генерим: 1. Самоподписанный (Self-signed) корневой сертификат (Root CA certificate). Этот файл указываем в параметре --ssl-ca=... 2. Серверный сертификат на базе этого же CA-сертификата. Сертификат - отдельно, ключ - отдельно. оба этих файла указываем в параметрах --ssl-cert=сертификат и --ssl-key=закрытый ключ к нему. Внимание: ключ должен быть незашифрованным (не требующим пароля, в случае с OpenSSL не забываем указать -nodes при генерации ключа). 3. Если пользователь в базе указан с требованием REQUIRE SSL, тогда клиенту достаточно копии открытого ключа CA-сертификата, например: Код: $ openssl rsa -in CAkey.pem -out public_key.pem -pubout Теперь об интересном: задал параметры подключения: Код: db.setConnectOptions("CLIENT_SSL=1"); Название: Re: SSL в QDataBase Отправлено: Vitto74 от Октябрь 30, 2011, 13:35 Может он прицепился используя уже созданное ранее соединения с базой? У них же по умолчанию одинаковые имена.
По теме: у кого-нибудь этот финт ушами получился? Название: Re: SSL в QDataBase Отправлено: Vitto74 от Октябрь 30, 2011, 15:32 Хотя нет. Сертификат нужен только для проверки подлинности сервера. Протокол SSL предусматривает создание зашифрованного соединения без всяких сертификатов.
|