Python 改進的模組ssl

2021-09-24 13:45:33 字數 1531 閱讀 5624

ssl 模組現在使用 openssl 的內建 api 代替 match_hostname() 來檢查主機名或 ip 位址。 值的驗證會在 tls 握手期間進行。 任何證書驗證錯誤包括主機名檢查失敗現在將引發 sslcertverificationerror 並使用正確的 tls alert 訊息中止握手過程。 這個新異常包含有額外的資訊。 主機名驗證可通過 sslcontext.hostname_checks_common_name 進行自定義。 (由 christian heimes 在 bpo-31399 中貢獻。)

註解ssl 模組不再以 sni tls 擴充套件傳送 ip 位址。 (由 christian heimes 在 bpo-32185 中貢獻。)

match_hostname() 不再支援部分萬用字元例如 www*.example.org。 (由 mandeep singh 在 bpo-23033 以及 christian heimes 在 bpo-31399 中貢獻。)

ssl 模組預設的加密套件選擇現在是使用黑名單方式而非硬編碼的白名單。 python 不會再重新啟用已經被 openssl 安全更新所阻止的加密。 預設的加密套件選擇可以在編譯時進行配置。 (由 christian heimes 在 bpo-31429 中貢獻。)

現在已支援包含國際化網域名稱 (idn) 的伺服器證書驗證。 作為此更改的一部分,sslsocket.server_hostname 屬性現在會以預期的 a 標籤形式 (「pythön.org」) 而不是以 u 標籤形式 (「pythön.org」) 儲存。 (由 nathaniel j. smith 與 christian heimes 在 bpo-28414 中貢獻。)

ssl 模組對 tls 1.3 和 openssl 1.1.1 具有初步和實驗性的支援。 在 python 3.7.0 發布的時刻,openssl 1.1.1 仍在開發中,而 tls 1.3 尚未最終確定。 tls 1.3 握手和協議行為與 tls 1.2 及更早的版本略有差異,請參閱 tls 1.3。 (由 christian heimes 在 bpo-32947, bpo-20995, bpo-29136, bpo-30622 以及 bpo-33618 中貢獻。)

sslsocket 和 sslobject 不再具有公共構造器。 直接例項化從未成為有文件和受支援的特性。 實際必須通過 sslcontext 的方法 wrap_socket() 和 wrap_bio() 來建立。 (由 christian heimes 在 bpo-32951 中貢獻。)

用於設定最小和最大 tls 協議版本的 openssl 1.1 api 現已可用,名稱分別為 sslcontext.minimum_version 和 sslcontext.maximum_version。 受支援的協議由幾個新增旗標指定,例如 has_tlsv1_1。 (由 christian heimes 在 bpo-32609 中貢獻。)

增加了 sslcontext.post_handshake_auth 以及 ssl.sslsocket.verify_client_post_handshake() 來啟用並初始化 tls 1.3 握手後驗證。 (由 christian heimes 在 bpo-34670 中貢獻。)

開始Nginx的SSL模組

tar.gz解壓 tar zxvf nginx 1.5.9.tar.gz進入nginx資料夾 cd nginx 1.5.9進行編譯把一些外掛程式編譯安裝 這個一定要加 with http ssl module http scgi temp path home soft nginx tmp scgi執...

nginx 安裝ssl模組

切換到原始碼包 1 cd usr local src nginx 1.11.3 檢視nginx原有的模組 1 usr local nginx sbin nginx v 在configure arguments 後面顯示的原有的configure引數如下 那麼我們的新配置資訊就應該這樣寫 執行上面的命...

nginx開啟SSL模組

我本機的nginx 在 usr local nginx nginx的原始碼在 usr local nginx 1.9.3 1.進入 usr local nginx sbin 使用命令 nginx v檢視原來nginx支援的模組,這裡需要記住,因為後面配置ssl的時候也需要用到 2.進入 usr lo...