如何使用Qt QODBC启用SSL

时间:2014-01-06 19:29:15

标签: qt ssl odbc

我无法找到有关此内容的信息。是否可以使用QODBC启用SSL?如果是这样,怎么样?

使用SSL与QMySql或使用与QODBC的非SSL连接没有问题。  但是,http://qt-project.org/doc/qt-5.1/qtsql/sql-driver.html#qodbc处的QODBC驱动程序文档没有提及SSL + ODBC和QODBC拒绝http://qt-project.org/doc/qt-5.1/qtsql/qsqldatabase.html#setConnectOptions列表中没有的参数,这些参数都不属于SSL。

有趣的是,我无法在任何地方找到这些选项,其含义或允许值的文档。我可以找到的那些选项的唯一提及是在该文档页面上,该页面没有说明它是一个全面的列表还是提供任何进一步的信息。

我可以找到使用SSL与QODBC的唯一其他直接参考是四年前未回复的帖子: http://www.qtcentre.org/threads/34367-SSL-with-QODBC

QODBC也是Quickbooks中显然不相关的ODBC产品的名称,这进一步加剧了这一信息。

这是我在http://qt-project.org/forums/viewthread/36850/

的帖子的副本

1 个答案:

答案 0 :(得分:3)

您需要将安全连接选项作为ODBC数据源的一部分传递给QSqlDatabase::setDatabaseName。 ODBC数据源应类似于:

Driver={MySQL ODBC 5.1 Driver};Server=server_address;Database=database;
User=username;Password=password;
sslca=ca.crt;sslcert=client.crt;sslkey=client.key;sslverify=1;

我没有检查过这个确切的字符串,只是显示了这个想法(取自here)。有关详细信息,请参阅MySQL Connector/ODBC documentation