我想不出如何在web.py应用程序上正确设置SSL证书链.
在python代码中有:
CherryPyWSGIServer.ssl_certificate = "/path/mycert.pem"
CherryPyWSGIServer.ssl_certificate_chain = "/path/mychain.ca-bundle"
CherryPyWSGIServer.ssl_private_key = "/path/mykey.key"当我访问Chrome的域名时,它说它是安全的。
然而,
我尝试过一些文件内容和文件扩展名的不同组合。
我试过把:
...into certificate_chain文件。我还尝试将整个链包含在证书文件中。我试过扩展.crt,.pem,.perm,..ca包
是否有人对正确的文件格式、包含方法、文件扩展名或我可能需要的其他配置选项有任何建议?谢谢!
P.S.Python版本为2.7.12,pip冻结显示了已安装的以下软件包:
cffi==1.8.3
cryptography==1.5.2
enum34==1.1.6
idna==2.1
ipaddress==1.0.17
pyasn1==0.1.9
pycparser==2.16
pyOpenSSL==16.2.0
requests==2.11.1
six==1.10.0
web.py==0.38发布于 2017-05-04 14:54:39
web.py v0.38不使用开箱即用的证书链。这意味着它忽略了您的CherryPyWSGIServer.ssl_certificate_chain编辑,因为它没有通过。
幸运的是,每一个https://github.com/movb/webpy/commit/9f9f6838e49f17cf395282392c3fc2762a97460b都有一个简单的补丁
编辑web/httpserver.py,如果定义的话,要通过ssl_certificate_chain。那么你的代码就能工作了。
== web/httpserver.py ==
- def create_ssl_adapter(cert, key):
+ def create_ssl_adapter(cert, key, chain=None):
- adapter = pyOpenSSLAdapter(cert, key)
+ adapter = pyOpenSSLAdapter(cert, key, chain)
- server.ssl_adapter = crate_ssl_adapter(server.ssl_certificate, server.ssl_private_key)
+ server.ssl_adapter = create_ssl_adapter(server.ssl_certificate, server.ssl_private_key,
+ getattr(server, 'ssl_certificate_chain', None))https://stackoverflow.com/questions/43774255
复制相似问题