Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QT_NO_SSL和QSslSocket::supportsSsl()之间的关系_Ssl_Qt5_Qsslsocket - Fatal编程技术网

QT_NO_SSL和QSslSocket::supportsSsl()之间的关系

QT_NO_SSL和QSslSocket::supportsSsl()之间的关系,ssl,qt5,qsslsocket,Ssl,Qt5,Qsslsocket,有一个defineQT\u NO\u SSL,它是在没有找到SSL库的情况下定义的。 还有方法QSslSocket::supportsSsl() 但是这两个有什么关系,它们是等价的吗? QT\u NO\u SSL qssl::supportsSsl()是否返回falsehold,或者是否可能未定义QT\u NO\u SSL,但qssl::supportssl()返回false?QT(至少使用OpenSSL后端)可以编译: 没有SSL支持--QT\u no\u SSL定义,SSL类甚至不可用于编译

有一个define
QT\u NO\u SSL
,它是在没有找到SSL库的情况下定义的。 还有方法
QSslSocket::supportsSsl()

但是这两个有什么关系,它们是等价的吗?
QT\u NO\u SSL qssl::supportsSsl()是否返回false
hold,或者是否可能未定义
QT\u NO\u SSL
,但
qssl::supportssl()
返回false?

QT(至少使用OpenSSL后端)可以编译:

  • 没有SSL支持--
    QT\u no\u SSL
    定义,SSL类甚至不可用于编译
  • 在运行时加载SSL支持=>OpenSSL头必须在编译时出现,但QtNetwork不会链接到
    libssl
    /
    libcrypto
    /。。。;相反,它将
    dlopen
    这些库在运行时查找它需要的函数
  • 通过网络链接的SSL支持
  • 其原因在于,将QtNetwork链接到加密库会在从/到美国的再分配方面引发法律问题。使用#3时,您必须拥有SSL库,否则应用程序将无法启动,即使您根本不需要SSL;Qt安装程序也不能“轻松”发布这些SSL库。因此,Qt是在配置2中编译的,您有责任安装OpenSSL


    未定义
    QT\u NO\u SSL
    ,但
    qsslssocket::supportsSsl()
    返回false的场景是2(例如,如果QT未能找到或加载合适的SSL库)。

    因此,您确实需要确保两者都支持SSL。谢谢