我正在try 用python语言设置TLS上下文.我想强制TLSv1.3使用:

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_3)

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

AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLSv1_3'

我使用的是Ubuntu 20.04,使用的是Python3.8版和OpenSSL1.1.1f版.

为什么它不支持TLSv1.3?

推荐答案

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

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

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

Python相关问答推荐

Django序列化器没有验证或保存数据

Python中的Pool.starmap异常处理

将嵌套列表的字典转换为数据框中的行

使用Python C API重新启动Python解释器

不允许AMBIMA API请求方法

在使用Guouti包的Python中运行MPP模型时内存不足

使用Ubuntu、Python和Weasyprint的Docker文件-venv的问题

如何根据条件在多指标框架上进行groupby

优化在numpy数组中非零值周围创建缓冲区的函数的性能

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

Pandas 在最近的日期合并,考虑到破产

带条件计算最小值

将两只Pandas rame乘以指数

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

如何创建一个缓冲区周围的一行与manim?

Pandas—在数据透视表中占总数的百分比

多处理队列在与Forking http.server一起使用时随机跳过项目

如何更新pandas DataFrame上列标题的de值?

基于另一列的GROUP-BY聚合将列添加到Polars LazyFrame