AttributeError:模块“ssl”没有属性“PROTOCOL_TLSv1_3”

Sil*_*ear 2 python ssl tls1.3

我正在尝试在 python 中设置 tls 上下文。我想使用 TLSv1.3 强制:

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_3)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为我收到以下错误:

AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLSv1_3'
Run Code Online (Sandbox Code Playgroud)

我使用的是 Ubuntu 20.04,使用的是 python 版本 3.8 和 openssl 版本 1.1.1f。

为什么不支持 TLSv1.3?

use*_*700 5

TLS 1.3 协议将在 OpenSSL >= 1.1.1 中与 PROTOCOL_TLS 一起使用。仅 TLS 1.3 没有专用的协议常量。

https://docs.python.org/3.11/library/ssl.html#ssl.SSLContext

脚注 3.

根据协议版本描述,将 TLS 1.3 设置为支持的最低版本:

client_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
client_context.minimum_version = ssl.TLSVersion.TLSv1_3
client_context.maximum_version = ssl.TLSVersion.TLSv1_3
Run Code Online (Sandbox Code Playgroud)

https://docs.python.org/3.11/library/ssl.html#protocol-versions

https://docs.python.org/3.11/library/ssl.html#tls-1-3