我正在创建一个应该支持SSL的服务器。我有两对签名证书和密钥文件,用于两个不同的域。
为了将这两个证书添加到上下文中,我尝试了两件事:
- 两次呼叫
context.load_cert_chain(certfile=certfile, keyfile=keyfile)
- 将证书文件和密钥文件连接为一个证书文件和一个密钥文件
两次尝试都没有成功,因为服务器似乎只使用其中一次。我的理解是,我可以使用服务器名称指示(SNI)在同一IP中拥有两个域证书。
如何使服务器名称指示(SNI)与python ssl一起工作?我想浏览器应该把这些信息发送到服务器,让服务器知道应该提供什么证书。如何在调用context.wrap_socket(csock, server_side=True)
之前知道客户端需要什么证书?
1条答案
按热度按时间h9a6wy2h1#
我找到了答案:
你需要为sni设置一个回调: