python / python/cpython

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

Offen
#154,517 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

3.15 3.16 docs topic-SSL
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit den SSL-Referenzseiten für set_groups(), get_groups(), group(), die Signaturalgorithmus-APIs, set_ecdh_curve() und den Abschnitt zu TLS 1.3. Vergleichen Sie anschließend deren bestehende Details mit Modules/_ssl.c und den Einträgen in What's New in 3.15. Als abgeschlossen gilt die Arbeit, wenn die dokumentierten OpenSSL-Anforderungen, das NotImplementedError-Verhalten, die Unterstützung für Post-Quantum-Gruppen, Beispiele und Querverweise die in diesem Issue beschriebenen Lücken abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.