python / python/cpython

Document OpenSSL version requirements and post-quantum groups for the ssl group and signature algorithm APIs

未關閉
#154,517 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

3.15 3.16 docs topic-SSL
主要語言
Python
星號
77.2k
分支
36k
PR 合併指標
PR 指標待擷取

描述

Documentation

Python 3.15 added SSLContext.set_groups(), SSLContext.get_groups() and SSLSocket.group() for choosing and inspecting the groups used for TLS key agreement. This is also how you reach the post-quantum hybrid key exchange that OpenSSL 3.5 now offers by default, such as X25519MLKEM768. The same release added ssl.get_sigalgs(), SSLSocket.client_sigalg() and SSLSocket.server_sigalg() for signature algorithms.

The reference documentation for both sets of methods is thinner than it could be.

Five of them need a specific OpenSSL version and raise NotImplementedError when linked against an older one, but the reference docs don't say so:

  • SSLSocket.group() needs OpenSSL 3.2 or later
  • SSLContext.get_groups() needs OpenSSL 3.5 or later
  • ssl.get_sigalgs() needs OpenSSL 3.4 or later
  • SSLSocket.client_sigalg() needs OpenSSL 3.5 or later
  • SSLSocket.server_sigalg() needs OpenSSL 3.5 or later

Each requirement is already stated in the What's New in 3.15 entries and enforced in Modules/_ssl.c, so this is only about the reference pages.

There are a few other gaps around the group API. set_groups() has no example and never mentions that it supports post-quantum groups, even though the What's New in 3.15 does. set_ecdh_curve() doesn't point readers at the newer and more general set_groups(). And the TLS 1.3 section says nothing about key agreement groups or the post-quantum hybrids that are now enabled by default.

Linked PRs
  • gh-154518

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

先從 set_groups()、get_groups()、group()、簽章演算法 API、set_ecdh_curve() 以及 TLS 1.3 部分的 SSL 參考頁面開始,然後將其中現有的詳細資訊與 Modules/_ssl.c 和 What's New in 3.15 中的項目進行比較。完成的標準是:文件化的 OpenSSL 要求、NotImplementedError 行為、後量子群組支援、範例和交叉參照涵蓋 issue 中描述的缺口。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
documentation
Issue 類型
文件
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
描述清楚
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。