Document OpenSSL version requirements and post-quantum groups for the ssl group and signature algorithm APIs
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
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 laterSSLContext.get_groups()needs OpenSSL 3.5 or laterssl.get_sigalgs()needs OpenSSL 3.4 or laterSSLSocket.client_sigalg()needs OpenSSL 3.5 or laterSSLSocket.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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với các trang tham chiếu SSL cho set_groups(), get_groups(), group(), các API thuật toán chữ ký, set_ecdh_curve() và phần TLS 1.3, sau đó so sánh các chi tiết hiện có của chúng với Modules/_ssl.c và các mục trong What's New in 3.15. Công việc được xem là hoàn tất khi các yêu cầu OpenSSL được ghi lại, hành vi NotImplementedError, hỗ trợ nhóm hậu lượng tử, các ví dụ và các tham chiếu chéo bao quát những thiếu sót được mô tả trong issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- documentation
- Loại issue
- Tài liệu
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 25/100