以下類為使用 SSL (安全套接字層) 協議進行安全網絡通信提供支持,使用 OpenSSL 工具包 去履行加密和協議處理。
從 Qt 5.6 版起,官方支持的 OpenSSL 版本是 1.0.0 或更高。
| QDtlsClientVerifier::GeneratorParameters | 此類定義用於 DTLS Cookie 生成器的參數 |
| QDtls | 此類為 UDP (用戶數據報協議) 套接字提供加密 |
| QDtlsClientVerifier | 此類實現服務器側 DTLS Cookie 的生成和驗證 |
| QDtls::HandshakeState | 描述 DTLS 握手的當前狀態 |
| QDtlsError | 描述通過 QDtls 和 QDtlsClientVerifier 發現的錯誤 |
| 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 加密套接字 |
當從源代碼構建 Qt 時,配置係統會檢查是否存在
openssl/opensslv.h
由 OpenSSL 源代碼 (或開發者包) 提供的 Header (頭)。
默認情況下,啓用 SSL 的 Qt 庫在運行時會動態加載任何已安裝的 OpenSSL 庫。無論如何,在編譯時鏈接到庫是可能的,通過配置 Qt 采用
-openssl-linked
選項。
當構建鏈接到 OpenSSL 的 Qt 版本時,構建係統會嘗試鏈接 libssl 和 libcrypt 庫 (位於開發者的係統默認位置)。此位置是可配置的:設置
OPENSSL_LIBDIR
command line argument. For example, on Unix/Linux system:
./configure -openssl-linked OPENSSL_LIBDIR=/usr/local/ssl
要禁用 SSL 支持在 Qt 構建中,配置 Qt 采用
-no-openssl
選項。
DTLS (安全數據報傳輸層) 是為基於數據報的應用程序,提供防竊聽、防篡改或防消息僞造保護的一種安全協議。DTLS 協議基於麵嚮流的 TLS (傳輸層安全) 協議。 QtNetwork 使能夠使用采用 UDP (用戶數據報協議) 的 DTLS,作為定義通過 RFC 6347 .
由於世界上某些地區的進齣口限定,所以,我們無法提供帶 Qt 包的 OpenSSL 工具包。希望在部署應用程序中使用 SSL 通信的開發者應確保用戶有安裝閤適的庫,或應適當諮詢閤格法律專業人員,以確保使用 OpenSSL 工程代碼的應用程序在世界相關區域的進齣口被正確認證。