SSL (安全套接字層) 類

以下類為使用 SSL (安全套接字層) 協議進行安全網絡通信提供支持,使用 OpenSSL 工具包 去履行加密和協議處理。

從 Qt 5.15 起,官方支持 OpenSSL v1.1.1 及以上。

從 Qt 5.15.1 起,兼容 OpenSSL 3。

QDtls

此類為 UDP (用戶數據報協議) 套接字提供加密

QDtlsClientVerifier

此類實現服務器側 DTLS Cookie 的生成和驗證

QDtlsClientVerifier::GeneratorParameters

此類定義用於 DTLS Cookie 生成器的參數

QOcspResponse

此類錶示在綫證書狀態協議響應

QSsl

聲明 Qt Network 中所有 SSL 類公用的枚舉

QSslCertificate

用於 X509 證書的便捷 API

QSslCertificateExtension

用於訪問 X509 證書擴展名的 API

QSslCipher

錶示 SSL 加密密碼

QSslConfiguration

保持 SSL 連接的配置和狀態

QSslDiffieHellmanParameters

用於服務器的 Diffie-Hellman 參數的接口

QSslEllipticCurve

錶示供橢圓麯綫密碼算法使用的橢圓麯綫

QSslError

SSL 錯誤

QSslKey

用於私鑰和公鑰的接口

QSslPreSharedKeyAuthenticator

用於 PSK (預共享密鑰) 密碼套件的身份驗證數據

QSslSocket

用於客戶端和服務器兩者的 SSL 加密套接字

QDtls::HandshakeState

描述 DTLS 握手的當前狀態

QDtls::QDtlsError

描述通過 QDtls 和 QDtlsClientVerifier 發現的錯誤

QOcspResponse::QOcspCertificateStatus

描述在綫證書狀態

QOcspResponse::QOcspRevocationReason

描述撤銷的原因

啓用和禁用 SSL 支持

當從源代碼構建 Qt 時,配置係統會檢查是否存在 openssl/opensslv.h 由 OpenSSL 源代碼 (或開發者包) 提供的 Header (頭)。

默認情況下,啓用 SSL 的 Qt 庫在運行時會動態加載任何已安裝的 OpenSSL 庫。無論如何,在編譯時鏈接到庫是可能的,通過配置 Qt 采用 -openssl-linked 選項。

當構建鏈接到 OpenSSL 的 Qt 版本時,構建係統會嘗試鏈接 libssl 和 libcrypt 庫 (位於開發者的係統默認位置)。此位置是可配置的:設置 OPENSSL_LIBS 環境變量以包含把 Qt 鏈接到已安裝庫所需的鏈接器選項。例如,在 Unix/Linux 係統:

OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
					

要禁用 SSL 支持在 Qt 構建中,配置 Qt 采用 -no-openssl 選項。

安全數據報傳輸層

DTLS (安全數據報傳輸層) 是為基於數據報的應用程序,提供防竊聽、防篡改或防消息僞造保護的一種安全協議。DTLS 協議基於麵嚮流的 TLS (傳輸層安全) 協議。 QtNetwork 使能夠使用采用 UDP (用戶數據報協議) 的 DTLS,作為定義通過 RFC 6347 .

進齣口限定

Qt 二進製安裝程序包括的 OpenSSL 庫,使用要通過 QtNetwork 。不管怎樣,這些不會自動部署到采用 Qt 構建的應用程序中。進齣口限定適用於某些類型的軟件,也適用於世界某些地區。希望在部署應用程序中使用 SSL 通信的開發者應確保其用戶有安裝閤適的庫,或者,他們應諮詢具備適當資格的法律專業人士,以確保使用 OpenSSL 工程代碼的應用程序在世界相關地區得到正確進齣口認證。