gpt4 book ai didi

python-3.x - 在 Cherrypy、Python3 上禁用 TLS1.0 和 TLS1.1

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:24 26 4
gpt4 key购买 nike

我正在尝试在我的 cherrypy 服务器上禁用 TLS1.0、TLS1.1、SSL2 和 SSL3。我看过其他有关如何禁用它们的堆栈溢出帖子,但是,当我按照代码示例进行操作时,我收到以下错误“ValueError:必须为服务器端操作指定 certfile”。 Windows 服务仍在运行,但我无法加载任何页面。我也尝试添加 certificate_chain,但这会阻止 cherrypy 运行。

我正在将 cherrypy 作为 Windows 服务运行,python 3.4.4、cherrypy 5.0.1、pyOpenSSL 19.0.0。

我试过使用内置的 SSl 库和 pyOpenSSL,它们都会导致相同的错误。

import OpenSSL.SSL as ssl

context = ssl.Context(ssl.SSLv23_METHOD)
context.set_cipher_list('ECDHE-RSA-AES256-GCM-SHA384')
context.set_options(ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
context.use_privatekey_file('myfile.key')
context.use_certificate_file('myfile.cer')

cherrypy.config.update({
'global':{
'server.socket_host':'0.0.0.0',
'server.socket_port': 0000, # https, however not using the port 443
'server.ssl_context' : context,
},
})

最佳答案

myfile.cer 是 PEM 格式吗?根据文档,PEM 似乎是默认文件类型,这可能是错误的原因。

我也在尝试弄清楚如何将 ECDHE 与 Cherrypy 一起使用,但是对于其他网络服务器来说,要使用 ECDHE 就需要一个曲线文件来生成临时 key ,而不是静态 key 文件(RSA 样式)。 Cherrypy 似乎没有内置曲线文件功能,因此可能只有 pyOpenSSL 才有可能。获取支持曲线的命令是 OpenSSL.crypto.get_elliptic_curves(),您可以使用 context.set_tmp_ecdh(curve) 指定所需的曲线。

关于python-3.x - 在 Cherrypy、Python3 上禁用 TLS1.0 和 TLS1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com