【发布时间】:2019-11-03 16:53:28
【问题描述】:
我正在尝试在我的 cherrypy 服务器上禁用 TLS1.0、TLS1.1、SSL2 和 SSL3。我已经看到有关如何禁用它们的其他堆栈溢出帖子但是,当我按照代码示例进行操作时,我收到以下错误“ValueError:必须为服务器端操作指定证书文件”。 Windows 服务仍在运行,但我无法加载任何页面。我也尝试过添加证书链,但这会阻止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,
},
})
【问题讨论】:
标签: python-3.x ssl openssl cherrypy