Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在twisted中添加服务器名称指示?_Python_Ssl_Twisted - Fatal编程技术网

Python 如何在twisted中添加服务器名称指示?

Python 如何在twisted中添加服务器名称指示?,python,ssl,twisted,Python,Ssl,Twisted,我有一个带TLS的twisted服务器: from twisted.web.server import Site from twisted.web.static import Data from twisted.internet import reactor, ssl port = 88888 root = Data("", "text/plain") site = Site(root) reactor.listenSSL(port, site, ssl.DefaultOpenSSLConte

我有一个带TLS的twisted服务器:

from twisted.web.server import Site
from twisted.web.static import Data
from twisted.internet import reactor, ssl

port = 88888
root = Data("", "text/plain")
site = Site(root)
reactor.listenSSL(port, site, ssl.DefaultOpenSSLContextFactory(
                              '/etc/apache2/ssl/wc.key',
                              '/etc/apache2/ssl/wc.crt'))
我有2个域,所以我需要为另一个域添加另一个ssl证书。我在这里发现了类似的问题,但我不明白如何修改我的代码以获得2个证书。有人能告诉我如何在twisted中使用2个证明吗

另外,谢谢,我是这样做的:

from twisted.web.server import Site
from twisted.web.static import Data
from twisted.internet import reactor, ssl
from txsni.snimap import SNIMap
from txsni.maputils import Cache
from txsni.snimap import HostDirectoryMap
from twisted.python.filepath import FilePath
from os.path import expanduser

root = Data("", "text/plain")
site = Site(root)
contextFactory = SNIMap(
    Cache(HostDirectoryMap(FilePath(expanduser('/home/user/certificates_dir'))))
)
reactor.listenSSL(config.ws_port, site, contextFactory)
你应该退房。它应该通过在一个目录中非常简单地排列多个证书来实现您想要的功能